Description
Synchronization with Tablet$Scanner via a read() will block close() being called via the sweep method in TabletServer. As a result, the SimpleTimer thread does not continue, and idle threads grow until the scan completes.
My patch, which is forthcoming, converts synchronized methods to use a fair lock. If the lock is held by a read call, the close call will attempt to obtain it, time out, and return indicating a close was not successful. The sweep will continue, and the SimpleTimer thread will respawn later, attempting closure on those Tablets at a later time.
Attachments
Attachments
Issue Links
- causes
-
ACCUMULO-4809 Session manager clean up can happen when lock held.
- Resolved
- is related to
-
ACCUMULO-4811 Session manager does not always act on cleanUp() return
- Open
- links to