One possible solution is reset the pool when one connection from the
pool is lost. Will look into it. Can you please open a ticket in
google code?

On Jun 27, 4:23 pm, Roman Bataev <[email protected]> wrote:
> Informing the users is not a problem in our case because it's our internal
> app that is used by our employees during business hours and we reboot the
> database  server on weekend. The only problem is that without restarting
> web2py people get the above error once they start using the app on Monday.
> Looks like the only solution to this right now is to schedule web2py restart
> right after db server reboot. Not ideal, but should work for our weekly
> updates. This will still be a problem in case of intermittent
> network glitches or if db server goes down unexpectedly which may result in
> unusable connections in the pool. Ideally web2py should be able to recover
> without restarting. While it obviously cannot do anything while db is down
> it should be able to start working again once the db is back up. I think
> ADO.Net pooling works this way (at least we never had the above problem in
> .Net apps).
>
> -Roman
>
> On Mon, Jun 27, 2011 at 1:49 PM, Massimo Di Pierro <
>
>
>
>
>
>
>
> [email protected]> wrote:
> > Yes this is because of connection pooling. The fact is, when you
> > database is down, web2py will return errors because it cannot connect
> > to your database. While on the one side we could have web2py return
> > more graceful errors, I think it is better follow the following
> > strategy:
>
> > 1) redirect all your http requests to a static pages that says "down
> > for maintenance"
> > 2) turn off web2py (reboot the server if using apache for example)
> > 3) turn off database and do required database maintenance
> > 4) restart database
> > 5) restart web2py
> > 6) redirect http requests back to web2py
>
> > I guess web2py could handle the missing database connections itself
> > but you still are left with the problem of informing the users.
>
> > On Jun 27, 12:06 pm, Roman Bataev <[email protected]> wrote:
> > > We run web2py with ms sql server as a database backend. Every weekend sql
> > > server gets rebooted (to install microsoft updates), after which web2py
> > apps
> > > start failing with the following error message:
>
> > > *('08S02', '[08S02] [Microsoft][SQL Server Native Client 10.0]SMux
> > Provider:
> > > Physical connection is not usable [xFFFFFFFF]. (-1) (SQLExecDirectW);
> > > [08S02] [Microsoft][SQL Server Native Client 10.0]Unable to open a
> > logical
> > > session (-1)')*
>
> > > The only way to get them back up and running is to restart web2py.
>
> > > I suspect it has something to do with database connection pooling (which
> > we
> > > do use). I have not taken a look at the code yet, so I am not sure if
> > web2py
> > > connection pooling reopens physical db connection if it becomes unusable
> > > because of db server reboot or network failure or something else.
>
> > > Has anyone had this issue? I cannot think of any good solution for this
> > so
> > > any help would be highly appreciated.

Reply via email to