That does seem to have fixed the problem.  We let the server idle for a 
week and today it worked first try.  Thanks for the quick fix!
Can I expect an update anytime soon on the official gem? Or do I need to 
create my own fork of the repository for now and create a local gem.

Thanks again!
Shane

On Tuesday, August 19, 2014 12:58:36 PM UTC-5, Jeremy Evans wrote:
>
> On Tuesday, August 19, 2014 10:43:26 AM UTC-7, Shane Turner wrote:
>>
>> I"ve recently starting using sinatra and sequel for some rest based 
>> service and I love the simplicity of Sequel.
>> However, when the system is idle for a while ( I haven't determined exact 
>> idle time, a couple of days), any new connections will throw the following
>> exception and has to be rebooted to solve the problem.  Can you determine 
>> if this is a sequel thing or a JTDS driver issue?
>>
>
> The disconnecting of the connection is a JTDS driver, database, or network 
> issue, depending on what is causing the disconnect.
>
> However, the main issue is that Sequel doesn't recognize this as a 
> disconnect error (as DatabaseError is raised instead of 
> DatabaseDisconnectError).  If Sequel recognizes this as a disconnect error, 
> if a request raises a disconnect error, that connection will be removed 
> from the pool, and a new connection will be made on the next request.  You 
> can also use the connection_validator extension to validate connections 
> before use.
>
> Can you try this patch:
>
> diff --git a/lib/sequel/adapters/jdbc/jtds.rb 
> b/lib/sequel/adapters/jdbc/jtds.rb
> index 65963b4b..e3a50d7 100644
> --- a/lib/sequel/adapters/jdbc/jtds.rb
> +++ b/lib/sequel/adapters/jdbc/jtds.rb
> @@ -26,6 +26,10 @@ module Sequel
>            false
>          end
>
> +        def disconnect_error?(exception, opts)
> +          super || exception.message =~ /\AInvalid state, the Connection 
> object is closed\.\z/
> +        end
> +
>          # Handle nil values by using setNull with the correct parameter 
> type.
>          def set_ps_arg_nil(cps, i)
>            cps.setNull(i, cps.getParameterMetaData.getParameterType(i))
>
> 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 http://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to