On Thursday, August 18, 2016 at 11:13:18 AM UTC-7, James Parker wrote: > > Hey Jeremy, > > The changes around 4.36.0 added the error handling to that begin block, > but if you look at the stack trace, the yield throwing the error is > happening outside of the protected block. I think that first (unprotected) > yield call needs to be moved into the protected block. Am I missing > something? >
Your backtrace shows that #escape is raising the error. In 4.36.0, Sequel uses begin/rescue inside the synchronize block to reraise the error as a Sequel::DatabaseDisconnectError (https://github.com/jeremyevans/sequel/blob/4.36.0/lib/sequel/adapters/mysql2.rb#L202-L210). In 4.37.0, Sequel has the connection pool recognize disconnect errors not specifically raised as Sequel::DatabaseDisconnectError, removing such connections from the pool. So the mysql2 adapter code is more similar to the <4.36.0 adapter code (https://github.com/jeremyevans/sequel/blob/4.37.0/lib/sequel/adapters/mysql2.rb#L302), but Sequel now handles this issue at a higher level of abstraction. If you think this is still a problem in 4.37.0, please submit a self contained example or backtrace showing the problem. Thanks, Jeremy -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sequel-talk. For more options, visit https://groups.google.com/d/optout.
