From cf643e9f375159c84e21a8f4320c51ab0dc605b4 Mon Sep 17 00:00:00 2001 From: Hyoun Jiil Date: Mon, 3 Feb 2014 17:04:39 +0900 Subject: [PATCH] fix db connection time out error [Description] when no connenction during 8hours after then time out error accure Change-Id: I6d64dc415f8871893e0ba385dad4a6ab0813b2b5 Signed-off-by: Hyoun Jiil --- src/build_server/BuildServer.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/build_server/BuildServer.rb b/src/build_server/BuildServer.rb index e0da5b4..8159be1 100644 --- a/src/build_server/BuildServer.rb +++ b/src/build_server/BuildServer.rb @@ -1055,6 +1055,7 @@ class BuildServer else if @db.nil? or not @db.connected? then @db = DBI.connect("DBI:#{@db_dsn}", @db_user, @db_passwd) + #@db.do "set session wait_timeout=5" # makes "Mysql servr has gone away" error end end @@ -1066,7 +1067,12 @@ class BuildServer return true rescue DBI::DatabaseError => e - raise BuildServerException.new("ERR950"), e.errstr + if e.errstr =~ /server has gone away/ then + @db = nil + retry + else + raise BuildServerException.new("ERR950"), e.errstr + end rescue DBI::InterfaceError => e raise BuildServerException.new("ERR950"), e.errstr rescue => e -- 2.34.1