Okay, I see.  I will try the cron job approach.

Thank you for your help and quick response, Jeremy.

Lon

On Tuesday, November 18, 2014 12:23:49 PM UTC-8, Lon Sun wrote:
>
> Hello,
>
> I have a Rails app that is connecting to a MySQL database through a 
> stateful firewall.  The app itself has pretty low volume - about 50 
> transactions a day at the moment.   The problem is that we're seeing the 
> following exception intermittently throughout the day:
>  
>
> Exception Class: Sequel::DatabaseDisconnectError 
>
> Exception Message: Mysql::Error: Lost connection to MySQL server during 
> query
>
> Subsequent transaction attempts on the server work fine.
>
> We are initializing Sequel with the following MySQL-specific configuration 
> parameters:  :connect_timeout => 7, :read_timeout => 45.  Interestingly, 
> the above exception is generated after the read timeout passes (45 seconds) 
> and not on the connect timeout.  I assume this is because the database pool 
> has the connection established already.
>
> It appears that what is happening is that the database pool connections 
> are being invalidated by the firewall after a certain period of time and 
> when that happens packets belonging to that specific db connection are 
> being dropped by the firewall.   It seems me that the best way to handle 
> this is to have the connections in the pool "refresh" or reconnect after a 
> certain period of inactivity that is less than the firewall timeout.  I 
> looked at the Sequel documentation and could not find a configuration 
> setting that does this.  Is such a setting available?  I would rather use a 
> mechanism built into Sequel to handle this as opposed to writing reconnect 
> logic in our app. 
>
> Also, I am aware of the connection_validator plugin, but it seems that 
> using this plugin would still result in at least a 45 second delay before 
> it realizes that the given connection is invalid and moves on to the next 
> available one.
>
> Any help would be appreciated.
>
> Thanks,
>
> Lon
>

-- 
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