Em terça-feira 23 outubro 2012, às 20:28:47, Jeremy Evans escreveu:
> On Tuesday, October 23, 2012 9:09:25 AM UTC-7, Jeremy Evans 
wrote:
> > On Monday, October 22, 2012 6:20:41 PM UTC-7, Rodrigo 
Rosenfeld Rosas
> > 
> > wrote:
> >> Em segunda-feira, 22 de outubro de 2012 19h34min26s UTC-2, 
Jeremy Evans
> >> 
> >> escreveu:
> >>> On Monday, October 22, 2012 11:47:29 AM UTC-7, Rodrigo 
Rosenfeld Rosas
> >>> 
> >>> wrote:
> >>>> I had to restart the PostgreSQL service in our database 
server and the
> >>>> Rails apps using Sequel stopped working.
> >>>> 
> >>>> Is there a way to instruct Sequel to try to reconnect on such 
cases?
> >>>> One
> >>>> that works both for MRI and JRuby?
> >>> 
> >>> Sequel should be removing the connections from the pool, 
reraising the
> >>> exceptions, and creating new connections as needed in the 
future.  So
> >>> it's expected that some DatabaseDisconnectErrors will be 
raised, but
> >>> Sequel should recover, assuming that it correctly recognizes 
the
> >>> disconnections (which it should on the postgres and 
jdbc/postgres
> >>> adapters).  If that isn't what you experienced, please try to put
> >>> together a reproducible test case and I'll take a look.
> >> 
> >> But this is a problem for our setup as we have a cluster with a 
dozen
> >> servers and there will be as many reported errors as there are 
servers
> >> in the cluster and all of them end up in our SLA errors log which
> >> affects our contract :(
> >> 
> >> Is there a way of just instructing Sequel to query something like
> >> "select 1" before attempting to use the connection? Hibernate 
has an
> >> option to do so and it works. Our application is a mix of a Grails 
and
> >> a Rails app. We only had to restart the Rails servers of the 
cluster as
> >> the Grails ones that used Hibernate with this option enabled 
didn't
> >> experience any issues.
> >> 
> >> We'd like to be able to do something like with Sequel as well.
> >> 
> >> Would that be possible?
> > 
> > It's actually something I'm planning to implement as a extension 
very
> > soon.  The recently committed refactoring of the database <-> 
connection
> > pool interface is the first step, I need to add code to check 
connections
> > for validity and then an extension that automatically checks 
connections
> > for validity when they are checked out from the pool.
> 
> The code to check connections for validity has been pushed.  I have 
the
> extension that automatically checks connections for validity on pool
> checkout written and apparently working based on the integration-
level
> tests, but I still need to add documentation and extension-level 
tests.  I
> expect that the extension will be pushed to the master branch 
sometime
> tomorrow.

Wow! This is really great news! Thank you so much!

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sequel-talk?hl=en.

Reply via email to