fix db connection time out error 64/15964/1
authorHyoun Jiil <jiil.hyoun@samsung.com>
Mon, 3 Feb 2014 08:04:39 +0000 (17:04 +0900)
committerHyoun Jiil <jiil.hyoun@samsung.com>
Mon, 3 Feb 2014 08:04:39 +0000 (17:04 +0900)
[Description] when no connenction during 8hours after then time out
error accure

Change-Id: I6d64dc415f8871893e0ba385dad4a6ab0813b2b5
Signed-off-by: Hyoun Jiil <jiil.hyoun@samsung.com>
src/build_server/BuildServer.rb

index e0da5b434b371fdfdcf4859ac5d4e8921b5c5fe1..8159be1366668dd5dbe611e30ce7d3385e46f4f3 100644 (file)
@@ -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