Done. #317. Thank you!
-Roman On Mon, Jun 27, 2011 at 5:26 PM, Massimo Di Pierro < massimo.dipie...@gmail.com> wrote: > 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 <roman.bat...@gmail.com> 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 < > > > > > > > > > > > > > > > > massimo.dipie...@gmail.com> 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 <roman.bat...@gmail.com> 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. >