Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
Concurrently writing to the file store can lead to a sever lock contention in FileStore#readSegment. That method searches the current TarWriter instance for the segment once it could not be found in any of the TarReader instances. This is the point where synchronizes on the FileStore instance, which leads to the contention.
The effect is only observable once the segment cache becomes full and reads actually need to go to the file store. Thus a possible improvement could be to pin segments from the current tar writer to the cache. Alternatively we could try to ease locking by employing read/write locks where possible.
Attachments
Attachments
Issue Links
- contains
-
OAK-4501 Avoid reading segment when reading strings and the string is in the cache
- Closed