Author: frm
Date: Mon Oct 30 15:37:13 2017
New Revision: 1813782
URL: http://svn.apache.org/viewvc?rev=1813782&view=rev
Log:
OAK-6829 - Ensure proper visibility of transient state in FileStore and
TarRevisions
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarRevisions.java
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java?rev=1813782&r1=1813781&r2=1813782&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
Mon Oct 30 15:37:13 2017
@@ -131,7 +131,7 @@ public class FileStore extends AbstractF
@Nonnull
private final FileLock lock;
- private TarRevisions revisions;
+ private volatile TarRevisions revisions;
/**
* Scheduler for running <em>short</em> background operations
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarRevisions.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarRevisions.java?rev=1813782&r1=1813781&r2=1813782&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarRevisions.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarRevisions.java
Mon Oct 30 15:37:13 2017
@@ -82,7 +82,7 @@ public class TarRevisions implements Rev
* The journal file. It is protected by {@link #journalFileLock}. It
becomes
* {@code null} after it's closed.
*/
- private RandomAccessFile journalFile;
+ private volatile RandomAccessFile journalFile;
/**
* The persisted head of the root journal, used to determine whether the