SQL Azure is a shared environment and all kind of server allocation and stuff do happen to increase overall performance. So there is a need to disconnect some active pool connections from time to time. When this is done a new server is ready to handle the request so retrying does work.
Having to rewrite all the dataaccess logic, the transactions to do the retrying is quite a burden though, so I believe it would be a huge plus if we could integrate this kind of robustness into nHibernate. On Jun 17, 6:31 am, Andrew Armstrong <[email protected]> wrote: > It may not be directly related; but I thought most drivers that do > pooling (such as MySQL's driver) ping() the connection before > returning it to the client (and possibly do this asynchronously too in > a background thread). > > So rather than responding to an error when it happens (due to > connection timeout), the driver pool just keeps the connections alive. > > On Jun 17, 1:18 am, Jean <[email protected]> wrote: > > > > > > > > > Longtime (fan) user of NHibernate, I'm currently readying for > > production curioos.com, hosted on Azure. > > One of the task is to make it robust to those pesky recoverable > > transient errors listed > > here:http://code.msdn.microsoft.com/Reliable-Retry-Aware-BCP-a5ae8e40/sour... > > > The first approach is to have a pool of asynchornously pre-checked > > connections to give to the DriverConnectionProvider. > > > But I'm now thinking that a transient error recovery mechanism should > > be added to NHibernate, using the one provided by microsoft on the > > previous link as a basis for the Azure one. > > > What do you think of this? Have you encountered the problem? -- You received this message because you are subscribed to the Google Groups "nhusers" 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/nhusers?hl=en.
