From: J C. <jo...@ay...> - 2006-05-31 23:25:42
|
We have a commercial app using Firebird embedded and server and the ado.net driver. There are *many* customers using this configuration and all has been well for 6 months now since release up until last week when on two different occasions we have customers reporting an error, I've posted the relevant bit from the call stack here: =-=-=-=-=-=-=- System.SystemException: Timeout exceeded. at FirebirdSql.Data.Firebird.FbConnectionPool.CheckMaxPoolSize() at FirebirdSql.Data.Firebird.FbConnectionPool.CheckOut() at FirebirdSql.Data.Firebird.FbConnection.Open() =-=-=-=-=-=-=- I've asked for their data and replicated it here. I thought maybe it was a bug that was fixed since 1.7.1 ado.net driver so I tried it with the 2.x beta and same thing. What's odd is there is absolutely definitively no connections getting "lost", the pool never uses more than 3 over the lifetime of the app (I've traced it every way). I've taken the database and tried it on a firebird server and in embedded mode, same thing either way. It's odd because there is no apparent bug in my code, a *lot* of sites with much larger databases than the ones in question do not fail running the same code so it's not size related as far as I can tell. In fact there seems to be no basis for why it happens at all other than it's extremely consistent to the same database I can replicate it here over and over but can't find a single reason for it, definitely not exceeding max pool size. Others reported this same problem on this group in the past with no resolution posted other than people suggesting it was a bug in their code or in one case someone suggested there was a bug with connection pooling and the ado.net driver and sent in some sample code to the developer. Is a fix in the works? Is it considered a bug at all? Any idea how to avoid it other than setting Pooling=false in the connection string? |