[
https://issues.apache.org/jira/browse/OAK-4972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francesco Mari resolved OAK-4972.
---------------------------------
Resolution: Not A Problem
Fix Version/s: (was: Segment Tar 0.0.18)
> Unprotected access to TAR readers and writer
> --------------------------------------------
>
> Key: OAK-4972
> URL: https://issues.apache.org/jira/browse/OAK-4972
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: segment-tar
> Reporter: Francesco Mari
> Assignee: Francesco Mari
>
> The TAR readers and writers are sporadically accessed outside of the r/w lock
> that should protect them.
> The TAR readers are accessed outside of the r/w lock in
> FileStore.containsSegment() and FileStore.readSegment(). This might introduce
> visibility issues - some threads might see stale data because of improper
> synchronization.
> The TAR writer is accessed outside of the r/w lock in FileStore.flush(). Even
> if the access is protected by another lock (the flush lock), not using the
> same r/w lock to access the TAR writer in this context might introduce
> visibility issues.
> Moreover, the r/w lock is sometimes used when accessing data other than the
> TAR readers and writer. This is the case of FileStore.close() accessing the
> file lock and of GarbageCollector.cleanup() accessing the segment cache and
> the segment tracker. This "protected" access might give a false sense of
> security, but is flaky and might introduce deadlocks if other locks are
> introduce in the future.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)