Bug 1299595

Summary: worker threads do not detect abnormally closed connections
Product: Red Hat Enterprise Linux 7 Reporter: Noriko Hosoi <nhosoi>
Component: 389-ds-baseAssignee: Noriko Hosoi <nhosoi>
Status: CLOSED NOTABUG QA Contact: Viktor Ashirov <vashirov>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: nkinder, rmeggins
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-01-18 17:45:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Noriko Hosoi 2016-01-18 17:33:45 UTC
This only applies to post-nunc-stans:  1.3.4 and up

When a connection is abruptly closed due to an error, and there is still some data left to be read(buffer offset vs buffer bytes), connection_threadmain starts to loop.  The connection is marked as closed, which prevents the buffer bytes/offset to be updated(e.g. in connection_read_operation()).  So the worker thread endlessly tries to read the "data" over and over, but it should just remove the connection from the conn table since it's marked as closed.

While it's looping it's repeatedly taking the factory extension lock which creates a lot of contention with the other worker threads.  Ultimately, all the worker threads are trying to read data on closed connections, and the server stops accepting new connections.

Comment 1 Noriko Hosoi 2016-01-18 17:45:10 UTC
This bug is not needed.  Closing this...