Author: mduerig
Date: Wed Nov 25 16:29:05 2015
New Revision: 1716471

URL: http://svn.apache.org/viewvc?rev=1716471&view=rev
Log:
OAK-1828: Improved SegmentWriter
Remove SegmentWriter.getTracker

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackup.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreRestore.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Compactor.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentWriter.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactorTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/PartialCompactionMapTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentParserTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackup.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackup.java?rev=1716471&r1=1716470&r2=1716471&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackup.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackup.java
 Wed Nov 25 16:29:05 2015
@@ -77,7 +77,7 @@ public class FileStoreBackup {
                 }
             }
 
-            Compactor compactor = new 
Compactor(backup.getTracker().getWriter());
+            Compactor compactor = new Compactor(backup);
             SegmentNodeState after = compactor.compact(before, current);
 
             // 4. commit the backup

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreRestore.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreRestore.java?rev=1716471&r1=1716470&r2=1716471&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreRestore.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreRestore.java
 Wed Nov 25 16:29:05 2015
@@ -25,7 +25,7 @@ import org.apache.jackrabbit.oak.api.Com
 import org.apache.jackrabbit.oak.plugins.segment.Compactor;
 import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder;
 import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState;
-import org.apache.jackrabbit.oak.plugins.segment.SegmentWriter;
+import org.apache.jackrabbit.oak.plugins.segment.SegmentStore;
 import org.apache.jackrabbit.oak.plugins.segment.file.FileStore;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
@@ -53,20 +53,19 @@ public class FileStoreRestore {
 
         // 2. init filestore
         FileStore restore = new FileStore(source, MAX_FILE_SIZE, false);
-        SegmentWriter writer = restore.getTracker().getWriter();
         try {
             SegmentNodeState state = restore.getHead();
-            restore(state.getChildNode("root"), store, writer);
+            restore(state.getChildNode("root"), store, restore);
         } finally {
             restore.close();
         }
     }
 
     private static void restore(NodeState source, NodeStore store,
-            SegmentWriter writer) throws CommitFailedException {
+            SegmentStore restore) throws CommitFailedException {
         long s = System.currentTimeMillis();
         NodeState current = store.getRoot();
-        RestoreCompactor compactor = new RestoreCompactor(writer);
+        RestoreCompactor compactor = new RestoreCompactor(restore);
         SegmentNodeBuilder builder = compactor.process(current, source, 
current);
         store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
         log.debug("Restore finished in {} ms.", System.currentTimeMillis() - 
s);
@@ -74,8 +73,8 @@ public class FileStoreRestore {
 
     private static class RestoreCompactor extends Compactor {
 
-        public RestoreCompactor(SegmentWriter writer) {
-            super(writer);
+        public RestoreCompactor(SegmentStore store) {
+            super(store);
         }
 
         @Override

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Compactor.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Compactor.java?rev=1716471&r1=1716470&r2=1716471&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Compactor.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Compactor.java
 Wed Nov 25 16:29:05 2015
@@ -99,13 +99,13 @@ public class Compactor {
      */
     private final Supplier<Boolean> cancel;
 
-    public Compactor(SegmentWriter writer) {
-        this(writer, Suppliers.ofInstance(false));
+    public Compactor(SegmentStore store) {
+        this(store, Suppliers.ofInstance(false));
     }
 
-    public Compactor(SegmentWriter writer, Supplier<Boolean> cancel) {
-        this.writer = writer;
-        this.map = new InMemoryCompactionMap(writer.getTracker());
+    public Compactor(SegmentStore store, Supplier<Boolean> cancel) {
+        this.writer = store.getTracker().getWriter();
+        this.map = new InMemoryCompactionMap(store.getTracker());
         this.cloneBinaries = false;
         this.cancel = cancel;
     }
@@ -120,7 +120,7 @@ public class Compactor {
         if (compactionStrategy.getPersistCompactionMap()) {
             this.map = new PersistedCompactionMap(store);
         } else {
-            this.map = new InMemoryCompactionMap(writer.getTracker());
+            this.map = new InMemoryCompactionMap(store.getTracker());
         }
         this.cloneBinaries = compactionStrategy.cloneBinaries();
         if (compactionStrategy.isOfflineCompaction()) {

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentWriter.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentWriter.java?rev=1716471&r1=1716470&r2=1716471&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentWriter.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentWriter.java
 Wed Nov 25 16:29:05 2015
@@ -142,10 +142,6 @@ public class SegmentWriter {
         this.wid = wid;
     }
 
-    SegmentTracker getTracker() {
-        return store.getTracker();
-    }
-
     public void flush() {
         segmentBuilderPool.flush();
     }

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactorTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactorTest.java?rev=1716471&r1=1716470&r2=1716471&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactorTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactorTest.java
 Wed Nov 25 16:29:05 2015
@@ -16,7 +16,8 @@
  */
 package org.apache.jackrabbit.oak.plugins.segment;
 
-import com.google.common.base.Supplier;
+import static org.junit.Assert.assertFalse;
+
 import com.google.common.base.Suppliers;
 import junit.framework.Assert;
 import org.apache.jackrabbit.oak.Oak;
@@ -32,8 +33,6 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-import static org.junit.Assert.assertFalse;
-
 public class CompactorTest {
 
     private SegmentStore segmentStore;
@@ -53,7 +52,7 @@ public class CompactorTest {
         NodeStore store = new SegmentNodeStore(segmentStore);
         init(store);
 
-        Compactor compactor = new 
Compactor(segmentStore.getTracker().getWriter());
+        Compactor compactor = new Compactor(segmentStore);
         addTestContent(store, 0);
 
         NodeState initial = store.getRoot();
@@ -74,7 +73,7 @@ public class CompactorTest {
         // doesn't have the child named "b".
 
         NodeStore store = 
SegmentNodeStore.newSegmentNodeStore(segmentStore).create();
-        Compactor compactor = new 
Compactor(segmentStore.getTracker().getWriter(), Suppliers.ofInstance(true));
+        Compactor compactor = new Compactor(segmentStore, 
Suppliers.ofInstance(true));
         SegmentNodeState sns = compactor.compact(store.getRoot(), 
addChild(store.getRoot(), "b"), store.getRoot());
         assertFalse(sns.hasChildNode("b"));
     }

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/PartialCompactionMapTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/PartialCompactionMapTest.java?rev=1716471&r1=1716470&r2=1716471&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/PartialCompactionMapTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/PartialCompactionMapTest.java
 Wed Nov 25 16:29:05 2015
@@ -124,7 +124,7 @@ public class PartialCompactionMapTest {
         if (usePersistedMap) {
             return new PersistedCompactionMap(segmentStore);
         } else {
-            return new InMemoryCompactionMap(writer.getTracker());
+            return new InMemoryCompactionMap(segmentStore.getTracker());
         }
     }
 

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentParserTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentParserTest.java?rev=1716471&r1=1716470&r2=1716471&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentParserTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentParserTest.java
 Wed Nov 25 16:29:05 2015
@@ -67,6 +67,7 @@ import org.junit.runners.Parameterized;
 public class SegmentParserTest {
     private final SegmentVersion segmentVersion;
 
+    private SegmentStore store;
     private SegmentWriter writer;
 
     @Parameterized.Parameters
@@ -152,7 +153,7 @@ public class SegmentParserTest {
 
     @Before
     public void setup() {
-        SegmentStore store = mock(SegmentStore.class, 
withSettings().stubOnly());
+        store = mock(SegmentStore.class, withSettings().stubOnly());
         SegmentTracker tracker = new SegmentTracker(store);
         when(store.getTracker()).thenReturn(tracker);
         writer = new SegmentWriter(store, segmentVersion);
@@ -295,7 +296,7 @@ public class SegmentParserTest {
     private Map<String, RecordId> createMap(int size, Random rnd) {
         Map<String, RecordId> map = newHashMap();
         for (int k = 0; k < size; k++) {
-            map.put("k" + k, newRecordId(writer.getTracker(), rnd));
+            map.put("k" + k, newRecordId(store.getTracker(), rnd));
         }
         return map;
     }
@@ -429,7 +430,7 @@ public class SegmentParserTest {
 
     @Test
     public void emptyList() {
-        RecordId listId = newRecordId(writer.getTracker(), new Random());
+        RecordId listId = newRecordId(store.getTracker(), new Random());
         ListInfo listInfo = new TestParser("emptyList").parseList(null, 
listId, 0);
         assertEquals(listId, listInfo.listId);
         assertEquals(0, listInfo.count);
@@ -442,7 +443,7 @@ public class SegmentParserTest {
         Random rnd = new Random();
         List<RecordId> list = newArrayListWithCapacity(count);
         for (int k = 0; k < count; k++) {
-            list.add(newRecordId(writer.getTracker(), rnd));
+            list.add(newRecordId(store.getTracker(), rnd));
         }
         RecordId listId = writer.writeList(list);
         ListInfo listInfo = new TestParser("nonEmptyList"){

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java?rev=1716471&r1=1716470&r2=1716471&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java
 Wed Nov 25 16:29:05 2015
@@ -134,7 +134,7 @@ public class FileStoreIT {
         assertTrue(store.setHead(base, head));
         assertEquals("bar", store.getHead().getString("foo"));
 
-        Compactor compactor = new Compactor(writer);
+        Compactor compactor = new Compactor(store);
         SegmentNodeState compacted =
                 compactor.compact(EMPTY_NODE, head, EMPTY_NODE);
         store.close();
@@ -163,7 +163,7 @@ public class FileStoreIT {
         head = store.getHead();
         assertTrue(store.size() > largeBinarySize);
         writer = new SegmentWriter(store, V_11);
-        compactor = new Compactor(writer);
+        compactor = new Compactor(store);
         compacted = compactor.compact(EMPTY_NODE, head, EMPTY_NODE);
         builder = head.builder();
         builder.setChildNode("old", head); // reference to pre-compacted state


Reply via email to