Issue Details (XML | Word | Printable)

Key: CORE-5911
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Vlad Khorsun
Reporter: Vlad Khorsun
Votes: 0
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Connection could hung after no activity for 60 seconds

Created: 14/Sep/18 03:32 PM   Updated: 20/Sep/18 12:51 PM
Component/s: Engine
Affects Version/s: 4.0 Alpha 1, 3.0.3
Fix Version/s: 3.0.4, 4.0 Beta 1

Environment: INET connections only

QA Status: Cannot be tested


 Description  « Hide
Imagine application that run some query then sleep for 60 seconds then again run query, sleep for 60 sec and so on.

If there are no other connections, or if this is ClassicServer - there could happen a race condition when last (only) worker
thread in network listener exits due to idle timeout (60 sec) and new request is arrived at the same time and left not
processed in queue.
In the case of SS\SC any new request from the other connection will "awake" network server and that request will be
processed, but in the case of CS this is impossible and connection will hung.

The bug is at the thread pool of network listener and can't happen for XNET and WNET protocols which not uses thread pool.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Vlad Khorsun added a comment - 18/Sep/18 07:50 PM
v2.5 seems not affected