Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
2.1.1
-
None
Description
Abort() goal is to close the connection whatever the current state is. Current implementation doesn't fullfill this requirement :
Actually, if a connection is used by a thread, stuck executing a query,
another thread calling Connection.abort() will fail to close the connection, waiting for the query to finish.
ReentrantLock use for multithreading is an atomic counter, permitting to know if there is really a running query.
Idle connection must be closed like a normal close() do (COM_QUIT), buzy connection must use create another connection, emit a KILL command, and send an RST packet (server will then have a normal error log entry)