You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by al...@apache.org on 2014/09/16 16:40:30 UTC

svn commit: r1625319 - in /jackrabbit/oak/branches/1.0: ./ oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/ oak-...

Author: alexparvulescu
Date: Tue Sep 16 14:40:29 2014
New Revision: 1625319

URL: http://svn.apache.org/r1625319
Log:
OAK-2100 Change NodeStore#release method to return a boolean
 - merged rev 1625299


Modified:
    jackrabbit/oak/branches/1.0/   (props changed)
    jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.java
    jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
    jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java
    jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java
    jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java
    jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ProxyNodeStore.java
    jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/package-info.java

Propchange: jackrabbit/oak/branches/1.0/
------------------------------------------------------------------------------
  Merged /jackrabbit/oak/trunk:r1625299

Modified: jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.java?rev=1625319&r1=1625318&r2=1625319&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.java (original)
+++ jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.java Tue Sep 16 14:40:29 2014
@@ -228,8 +228,9 @@ public class KernelNodeStore implements 
     }
 
     @Override
-    public void release(String checkpoint) {
+    public boolean release(String checkpoint) {
         // TODO
+        return true;
     }
 
     public CacheStats getCacheStats() {

Modified: jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java?rev=1625319&r1=1625318&r2=1625319&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java (original)
+++ jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java Tue Sep 16 14:40:29 2014
@@ -1341,8 +1341,9 @@ public final class DocumentNodeStore
     }
 
     @Override
-    public void release(@Nonnull String checkpoint) {
+    public boolean release(@Nonnull String checkpoint) {
         checkpoints.release(checkpoint);
+        return true;
     }
 
     //------------------------< RevisionContext >-------------------------------

Modified: jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java?rev=1625319&r1=1625318&r2=1625319&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java (original)
+++ jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java Tue Sep 16 14:40:29 2014
@@ -201,8 +201,9 @@ public class MemoryNodeStore implements 
     }
 
     @Override
-    public synchronized void release(String checkpoint) {
+    public synchronized boolean release(String checkpoint) {
         checkpoints.remove(checkpoint);
+        return true;
     }
 
     /** test purpose only! */

Modified: jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java?rev=1625319&r1=1625318&r2=1625319&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java (original)
+++ jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java Tue Sep 16 14:40:29 2014
@@ -267,7 +267,7 @@ public class SegmentNodeStore implements
     }
 
     @Override
-    public void release(@Nonnull String checkpoint) {
+    public boolean release(@Nonnull String checkpoint) {
         checkNotNull(checkpoint);
 
         // try 5 times
@@ -283,18 +283,18 @@ public class SegmentNodeStore implements
                             checkpoint);
                     if (cp.exists()) {
                         cp.remove();
+                        SegmentNodeState newState = builder.getNodeState();
+                        if (store.setHead(state, newState)) {
+                            refreshHead();
+                            return true;
+                        }
                     }
-                    SegmentNodeState newState = builder.getNodeState();
-                    if (store.setHead(state, newState)) {
-                        refreshHead();
-                        return;
-                    }
-
                 } finally {
                     commitSemaphore.release();
                 }
             }
         }
+        return false;
     }
 
     private class Commit {

Modified: jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java?rev=1625319&r1=1625318&r2=1625319&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java (original)
+++ jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java Tue Sep 16 14:40:29 2014
@@ -126,6 +126,12 @@ public interface NodeStore {
     @CheckForNull
     NodeState retrieve(@Nonnull String checkpoint);
 
-    void release(@Nonnull String checkpoint);
+    /**
+     * Releases the provided checkpoint. If the provided checkpoint doesn't exist this method should return {@code true}.
+     *
+     * @param checkpoint string reference of a checkpoint
+     * @return {@code true} if the checkpoint was successfully removed, or if it doesn't exist
+     */
+    boolean release(@Nonnull String checkpoint);
 
 }

Modified: jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ProxyNodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ProxyNodeStore.java?rev=1625319&r1=1625318&r2=1625319&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ProxyNodeStore.java (original)
+++ jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ProxyNodeStore.java Tue Sep 16 14:40:29 2014
@@ -73,8 +73,8 @@ public abstract class ProxyNodeStore imp
     }
 
     @Override
-    public void release(String checkpoint) {
-        getNodeStore().release(checkpoint);
+    public boolean release(String checkpoint) {
+        return getNodeStore().release(checkpoint);
     }
 
 }

Modified: jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/package-info.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/package-info.java?rev=1625319&r1=1625318&r2=1625319&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/package-info.java (original)
+++ jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/package-info.java Tue Sep 16 14:40:29 2014
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-@Version("1.0")
+@Version("1.1.0")
 @Export(optional = "provide:=true")
 package org.apache.jackrabbit.oak.spi.state;