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 md...@apache.org on 2017/03/29 08:12:46 UTC

svn commit: r1789292 - in /jackrabbit/oak/trunk/oak-segment-tar/src: main/java/org/apache/jackrabbit/oak/segment/ main/java/org/apache/jackrabbit/oak/segment/file/ main/java/org/apache/jackrabbit/oak/segment/memory/ test/java/org/apache/jackrabbit/oak/...

Author: mduerig
Date: Wed Mar 29 08:12:46 2017
New Revision: 1789292

URL: http://svn.apache.org/viewvc?rev=1789292&view=rev
Log:
OAK-5996: Revisions.setHead(Function) should return the new head or null instead of boolean

Modified:
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Revisions.java
    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/ReadOnlyRevisions.java
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarRevisions.java
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStoreRevisions.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/TarRevisionsTest.java

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Revisions.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Revisions.java?rev=1789292&r1=1789291&r2=1789292&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Revisions.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Revisions.java Wed Mar 29 08:12:46 2017
@@ -81,13 +81,13 @@ public interface Revisions {
      * @param newHead  function mapping an record id to the record id to which
      *                 the current head id should be set.
      * @param options  implementation specific options
-     * @return         {@code true} if the current head was successfully
-     *                 updated, {@code false} otherwise.
+     * @return         the record id of the root node if the current head was successfully
+     *                 updated, {@code null} otherwise.
      * @throws InterruptedException
      *                 Blocking implementations may throw this exception whe
      *                 interrupted.
      */
-    boolean setHead(@Nonnull Function<RecordId, RecordId> newHead,
+    RecordId setHead(@Nonnull Function<RecordId, RecordId> newHead,
                     @Nonnull Option... options)
     throws InterruptedException;
 }

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=1789292&r1=1789291&r2=1789292&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 Wed Mar 29 08:12:46 2017
@@ -932,7 +932,7 @@ public class FileStore extends AbstractF
         private boolean forceCompact(@Nonnull final SegmentWriter writer,
                                      @Nonnull final Supplier<Boolean> cancel)
         throws InterruptedException {
-            return revisions.
+            return null != revisions.
                     setHead(new Function<RecordId, RecordId>() {
                                 @Nullable
                                 @Override

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/ReadOnlyRevisions.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/ReadOnlyRevisions.java?rev=1789292&r1=1789291&r2=1789292&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/ReadOnlyRevisions.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/ReadOnlyRevisions.java Wed Mar 29 08:12:46 2017
@@ -100,7 +100,7 @@ public class ReadOnlyRevisions implement
     }
 
     @Override
-    public boolean setHead(
+    public RecordId setHead(
             @Nonnull Function<RecordId, RecordId> newHead,
             @Nonnull Option... options) throws InterruptedException {
         throw new UnsupportedOperationException("ReadOnly Revisions");

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=1789292&r1=1789291&r2=1789292&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 Wed Mar 29 08:12:46 2017
@@ -274,7 +274,7 @@ public class TarRevisions implements Rev
      * @see #INFINITY
      */
     @Override
-    public boolean setHead(
+    public RecordId setHead(
             @Nonnull Function<RecordId, RecordId> newHead,
             @Nonnull Option... options)
     throws InterruptedException {
@@ -285,15 +285,15 @@ public class TarRevisions implements Rev
                 RecordId after = newHead.apply(getHead());
                 if (after != null) {
                     head.set(after);
-                    return true;
+                    return after;
                 } else {
-                    return false;
+                    return null;
                 }
             } finally {
                 rwLock.writeLock().unlock();
             }
         } else {
-            return false;
+            return null;
         }
     }
 

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStoreRevisions.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStoreRevisions.java?rev=1789292&r1=1789291&r2=1789292&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStoreRevisions.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStoreRevisions.java Wed Mar 29 08:12:46 2017
@@ -79,7 +79,7 @@ public class MemoryStoreRevisions implem
      * @throws UnsupportedOperationException always
      */
     @Override
-    public boolean setHead(
+    public RecordId setHead(
             @Nonnull Function<RecordId, RecordId> newHead,
             @Nonnull Option... options) throws InterruptedException {
         throw new UnsupportedOperationException();

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/TarRevisionsTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/TarRevisionsTest.java?rev=1789292&r1=1789291&r2=1789292&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/TarRevisionsTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/TarRevisionsTest.java Wed Mar 29 08:12:46 2017
@@ -24,6 +24,7 @@ import static java.util.concurrent.Execu
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
@@ -122,7 +123,7 @@ public class TarRevisionsTest {
         SegmentNodeState root = reader.readNode(headId);
 
         final SegmentNodeState newRoot = addChild(root, "a");
-        assertTrue(revisions.setHead(new Function<RecordId, RecordId>() {
+        assertNotNull(revisions.setHead(new Function<RecordId, RecordId>() {
             @Nullable
             @Override
             public RecordId apply(RecordId headId) {
@@ -155,7 +156,7 @@ public class TarRevisionsTest {
             ListenableFuture<Boolean> t1 = executor.submit(new Callable<Boolean>() {
                 @Override
                 public Boolean call() throws Exception {
-                    return revisions.setHead(new Function<RecordId, RecordId>() {
+                    return null != revisions.setHead(new Function<RecordId, RecordId>() {
                         @Nullable
                         @Override
                         public RecordId apply(RecordId headId) {
@@ -167,7 +168,7 @@ public class TarRevisionsTest {
             ListenableFuture<Boolean> t2 = executor.submit(new Callable<Boolean>() {
                 @Override
                 public Boolean call() throws Exception {
-                    return revisions.setHead(new Function<RecordId, RecordId>() {
+                    return null != revisions.setHead(new Function<RecordId, RecordId>() {
                         @Nullable
                         @Override
                         public RecordId apply(RecordId headId) {
@@ -199,7 +200,7 @@ public class TarRevisionsTest {
                 @Override
                 public Boolean call() throws Exception {
                     latch.await();
-                    return revisions.setHead(Functions.<RecordId>identity());
+                    return null != revisions.setHead(Functions.<RecordId>identity());
                 }
             });
 
@@ -212,7 +213,7 @@ public class TarRevisionsTest {
                 @Override
                 public Boolean call() throws Exception {
                     latch.countDown();
-                    return revisions.setHead(Functions.<RecordId>identity());
+                    return null != revisions.setHead(Functions.<RecordId>identity());
                 }
             });