From ad1c495a0ec657e278ee201e6d24b7918a477f7d Mon Sep 17 00:00:00 2001 From: MontrealSergiy Date: Mon, 29 Sep 2025 15:50:07 -0400 Subject: [PATCH 1/4] no need to backtrace workers SQL disconnects #1549 --- BrainPortal/app/models/worker.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/BrainPortal/app/models/worker.rb b/BrainPortal/app/models/worker.rb index 771fa52fa..279fb6c0c 100644 --- a/BrainPortal/app/models/worker.rb +++ b/BrainPortal/app/models/worker.rb @@ -431,7 +431,9 @@ def main_loop #:nodoc: rescue => itswrong self.worker_log.fatal "Exception raised: #{itswrong.class} : #{itswrong.message}" - unless itswrong.message =~ /server has gone away/ + # do not trace MySql disconnects but trace bad syntax, timeout and other SQL... errors ) + unless itsworng.is_a?(ActiveRecord::StatementInvalid) || (itswrong.message =~ /server has gone away/ || + itswrong.message =~ /connect/i ) itswrong.backtrace.each do |line| self.worker_log.fatal line end From 6e5d0ba654801f35f1c9554845199a40bc1f6307 Mon Sep 17 00:00:00 2001 From: Serge Date: Mon, 29 Sep 2025 22:24:38 -0400 Subject: [PATCH 2/4] add a keywod --- BrainPortal/app/models/worker.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BrainPortal/app/models/worker.rb b/BrainPortal/app/models/worker.rb index 279fb6c0c..11b9bd936 100644 --- a/BrainPortal/app/models/worker.rb +++ b/BrainPortal/app/models/worker.rb @@ -433,7 +433,7 @@ def main_loop #:nodoc: self.worker_log.fatal "Exception raised: #{itswrong.class} : #{itswrong.message}" # do not trace MySql disconnects but trace bad syntax, timeout and other SQL... errors ) unless itsworng.is_a?(ActiveRecord::StatementInvalid) || (itswrong.message =~ /server has gone away/ || - itswrong.message =~ /connect/i ) + itswrong.message =~ /connect|down/i ) itswrong.backtrace.each do |line| self.worker_log.fatal line end From 6aa2cdbcb3d763bbca4e1a2e46fbb124694b95a8 Mon Sep 17 00:00:00 2001 From: Serge Date: Mon, 29 Sep 2025 22:33:16 -0400 Subject: [PATCH 3/4] stricter check --- BrainPortal/app/models/worker.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BrainPortal/app/models/worker.rb b/BrainPortal/app/models/worker.rb index 11b9bd936..4fd0a21ae 100644 --- a/BrainPortal/app/models/worker.rb +++ b/BrainPortal/app/models/worker.rb @@ -432,7 +432,7 @@ def main_loop #:nodoc: self.worker_log.fatal "Exception raised: #{itswrong.class} : #{itswrong.message}" # do not trace MySql disconnects but trace bad syntax, timeout and other SQL... errors ) - unless itsworng.is_a?(ActiveRecord::StatementInvalid) || (itswrong.message =~ /server has gone away/ || + unless itsworng.is_a?(ActiveRecord::StatementInvalid) && (itswrong.message =~ /server has gone away/ || itswrong.message =~ /connect|down/i ) itswrong.backtrace.each do |line| self.worker_log.fatal line From 4871ab844f3299dd480e650cc90dd3ee6684d9d6 Mon Sep 17 00:00:00 2001 From: MontrealSergiy Date: Tue, 30 Sep 2025 14:34:37 -0400 Subject: [PATCH 4/4] fix typo in worker exception handler --- BrainPortal/app/models/worker.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/BrainPortal/app/models/worker.rb b/BrainPortal/app/models/worker.rb index 4fd0a21ae..d7d684a9c 100644 --- a/BrainPortal/app/models/worker.rb +++ b/BrainPortal/app/models/worker.rb @@ -432,7 +432,8 @@ def main_loop #:nodoc: self.worker_log.fatal "Exception raised: #{itswrong.class} : #{itswrong.message}" # do not trace MySql disconnects but trace bad syntax, timeout and other SQL... errors ) - unless itsworng.is_a?(ActiveRecord::StatementInvalid) && (itswrong.message =~ /server has gone away/ || + unless itswrong.is_a?(ActiveRecord::StatementInvalid) && (itswrong.message =~ /server has gone away/ || + itswrong.message =~ /connect|down/i ) itswrong.backtrace.each do |line| self.worker_log.fatal line