FbConnectionPoolManager does not remove disconnected FbConnectionInternal 
instances
-----------------------------------------------------------------------------------

                 Key: DNET-678
                 URL: http://tracker.firebirdsql.org/browse/DNET-678
             Project: .NET Data provider
          Issue Type: Bug
          Components: ADO.NET Provider
    Affects Versions: 4.10.0.0
         Environment: The scenario have been tested versus FB 2.5 in classic 
mode
            Reporter: Hans Torm
            Assignee: Jiri Cincura


If a FbConnection's  FbConnectionInternal gets disconnected from the server in 
the underlying System.Net.Sockets.NetworkStream, this is not detected by the 
FbConnectionInternal instance. Thus the FbConnectionInternal instance will keep 
on being released to the FbConnectionPoolManager upon Close and reused for 
later connections, creating errors.

The problem is compounded by the fact that even if you detect the Error, you 
cannot simply Dispose the FbConnection as this will still release the 
FbConnectionInternal instance to the Pool. Only workaround is to flush the 
Pool, but to do that you have to break the encapsulation provided by the 
ADO.NET abstractions and link directly to the FbDriver to get access to the 
Pool management features on FbConnection, thus preventing DB agnostic code. 
This is not desirable.

Alternatively not disposing a failed connection will work as the 
FbConnectionInternal instance will never be GC'd due to being in the _busy 
List, but will of course introduce a subtle memory leak. This is not desirable.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to