Index: oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.java =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.java (revision 1625245) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.java (working copy) @@ -228,8 +228,9 @@ } @Override - public void release(String checkpoint) { + public boolean release(String checkpoint) { // TODO + return true; } public CacheStats getCacheStats() { Index: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java (revision 1625245) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java (working copy) @@ -1344,8 +1344,9 @@ } @Override - public void release(@Nonnull String checkpoint) { + public boolean release(@Nonnull String checkpoint) { checkpoints.release(checkpoint); + return true; } //------------------------< RevisionContext >------------------------------- Index: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java (revision 1625245) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java (working copy) @@ -201,8 +201,9 @@ } @Override - public synchronized void release(String checkpoint) { + public synchronized boolean release(String checkpoint) { checkpoints.remove(checkpoint); + return true; } /** test purpose only! */ Index: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java (revision 1625245) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java (working copy) @@ -273,7 +273,7 @@ } @Override - public void release(@Nonnull String checkpoint) { + public boolean release(@Nonnull String checkpoint) { checkNotNull(checkpoint); // try 5 times @@ -289,18 +289,18 @@ checkpoint); if (cp.exists()) { cp.remove(); - } - SegmentNodeState newState = builder.getNodeState(); - if (store.setHead(state, newState)) { - refreshHead(); - return; + SegmentNodeState newState = builder.getNodeState(); + if (store.setHead(state, newState)) { + refreshHead(); + return true; + } } - } finally { commitSemaphore.release(); } } } + return false; } private class Commit { Index: oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java (revision 1625245) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java (working copy) @@ -134,6 +134,6 @@ @CheckForNull NodeState retrieve(@Nonnull String checkpoint); - void release(@Nonnull String checkpoint); + boolean release(@Nonnull String checkpoint); } Index: oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ProxyNodeStore.java =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ProxyNodeStore.java (revision 1625245) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ProxyNodeStore.java (working copy) @@ -73,8 +73,8 @@ } @Override - public void release(String checkpoint) { - getNodeStore().release(checkpoint); + public boolean release(String checkpoint) { + return getNodeStore().release(checkpoint); } }