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 2016/05/23 12:59:23 UTC

svn commit: r1745182 [3/3] - in /jackrabbit/oak/trunk: oak-run/src/main/java/org/apache/jackrabbit/oak/run/ oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/ oak-segme...

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentSizeTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentSizeTest.java?rev=1745182&r1=1745181&r2=1745182&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentSizeTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentSizeTest.java Mon May 23 12:59:22 2016
@@ -20,6 +20,7 @@ package org.apache.jackrabbit.oak.segmen
 
 import static junit.framework.Assert.assertEquals;
 import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
+import static org.apache.jackrabbit.oak.segment.SegmentVersion.LATEST_VERSION;
 
 import java.io.IOException;
 import java.util.Calendar;
@@ -28,22 +29,41 @@ import java.util.Collections;
 import com.google.common.collect.ImmutableList;
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.plugins.memory.PropertyStates;
+import org.apache.jackrabbit.oak.segment.file.FileStore;
 import org.apache.jackrabbit.oak.segment.memory.MemoryStore;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.util.ISO8601;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
 
 
 /**
  * Test case for ensuring that segment size remains within bounds.
  */
 public class SegmentSizeTest {
+    @Rule
+    public TemporaryFolder folder = new TemporaryFolder();
+
+    private SegmentStore store;
+
+    @Before
+    public void setup() throws IOException {
+        store = FileStore.builder(folder.getRoot()).build();
+    }
+
+    @After
+    public void tearDown() {
+        store.close();
+    }
 
     @Test
     public void testNodeSize() throws IOException {
         NodeBuilder builder = EMPTY_NODE.builder();
-        expectSize(96, builder);
+        expectSize(80, builder);
         expectAmortizedSize(8, builder);
 
         builder = EMPTY_NODE.builder();
@@ -59,13 +79,13 @@ public class SegmentSizeTest {
 
         builder = EMPTY_NODE.builder();
         builder.child("foo");
-        expectSize(128, builder);
+        expectSize(112, builder);
         expectAmortizedSize(20, builder);
 
         builder = EMPTY_NODE.builder();
         builder.child("foo");
         builder.child("bar");
-        expectSize(160, builder);
+        expectSize(144, builder);
         expectAmortizedSize(52, builder);
     }
 
@@ -73,7 +93,7 @@ public class SegmentSizeTest {
     public void testDuplicateStrings() throws IOException {
         String string = "More than just a few bytes of example content.";
 
-        SegmentWriter writer = new MemoryStore().getTracker().getWriter();
+        SegmentWriter writer = new MemoryStore().getWriter();
         SegmentNodeBuilder builder = writer.writeNode(EMPTY_NODE).builder();
 
         builder.setProperty(PropertyStates.createProperty(
@@ -97,7 +117,7 @@ public class SegmentSizeTest {
     public void testDuplicateDates() throws IOException {
         String now = ISO8601.format(Calendar.getInstance());
 
-        SegmentWriter writer = new MemoryStore().getTracker().getWriter();
+        SegmentWriter writer = new MemoryStore().getWriter();
         SegmentNodeBuilder builder = writer.writeNode(EMPTY_NODE).builder();
 
         builder.setProperty(PropertyStates.createProperty(
@@ -129,7 +149,7 @@ public class SegmentSizeTest {
         deny.setProperty("rep:principalName", "everyone");
         deny.setProperty(PropertyStates.createProperty(
                 "rep:privileges", ImmutableList.of("jcr:read"), Type.NAMES));
-        expectSize(240, builder);
+        expectSize(224, builder);
         expectAmortizedSize(40, builder);
 
         NodeBuilder allow = builder.child("allow");
@@ -146,7 +166,7 @@ public class SegmentSizeTest {
         deny0.setProperty("rep:glob", "*/activities/*");
         builder.setProperty(PropertyStates.createProperty(
                 "rep:privileges", ImmutableList.of("jcr:read"), Type.NAMES));
-        expectSize(480, builder);
+        expectSize(464, builder);
         expectAmortizedSize(136, builder);
 
         NodeBuilder allow0 = builder.child("allow0");
@@ -161,7 +181,7 @@ public class SegmentSizeTest {
     @Test
     public void testFlatNodeUpdate() throws IOException {
         SegmentStore store = new MemoryStore();
-        SegmentWriter writer = store.getTracker().getWriter();
+        SegmentWriter writer = store.getWriter();
 
         NodeBuilder builder = EMPTY_NODE.builder();
         for (int i = 0; i < 1000; i++) {
@@ -183,8 +203,9 @@ public class SegmentSizeTest {
         assertEquals(560, segment.size());
     }
 
-    private static void expectSize(int expectedSize, NodeBuilder builder) throws IOException {
-        SegmentWriter writer = new MemoryStore().getTracker().getWriter();
+    private void expectSize(int expectedSize, NodeBuilder builder) throws IOException {
+        SegmentWriter writer = new SegmentWriter(store,
+                new SegmentBufferWriter(store, LATEST_VERSION, "test", 0));
         RecordId id = writer.writeNode(builder.getNodeState()).getRecordId();
         writer.flush();
         Segment segment = id.getSegment();
@@ -192,8 +213,9 @@ public class SegmentSizeTest {
             expectedSize, segment.size());
     }
 
-    private static void expectAmortizedSize(int expectedSize, NodeBuilder builder) throws IOException {
-        SegmentWriter writer = new MemoryStore().getTracker().getWriter();
+    private void expectAmortizedSize(int expectedSize, NodeBuilder builder) throws IOException {
+        SegmentWriter writer = new SegmentWriter(store,
+                new SegmentBufferWriter(store, LATEST_VERSION, "test", 0));
         NodeState state = builder.getNodeState();
         RecordId id1 = writer.writeNode(state).getRecordId();
         RecordId id2 = writer.writeNode(state).getRecordId();

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/TemplateTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/TemplateTest.java?rev=1745182&r1=1745181&r2=1745182&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/TemplateTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/TemplateTest.java Mon May 23 12:59:22 2016
@@ -19,20 +19,31 @@
 package org.apache.jackrabbit.oak.segment;
 
 import static org.apache.jackrabbit.oak.plugins.memory.PropertyStates.createProperty;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
 
 import java.io.IOException;
 import java.util.ArrayList;
 
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
-
-import static org.junit.Assert.*;
-
-import org.apache.jackrabbit.oak.segment.PropertyTemplate;
-import org.apache.jackrabbit.oak.segment.Template;
+import org.apache.jackrabbit.oak.segment.memory.MemoryStore;
+import org.junit.After;
+import org.junit.Before;
 import org.junit.Test;
 
 public class TemplateTest {
+    private SegmentStore store;
+
+    @Before
+    public void setup() throws IOException {
+        store = new MemoryStore();
+    }
+
+    @After
+    public void tearDown() {
+        store.close();
+    }
 
     @Test
     public void testHashCode() throws IOException {
@@ -41,8 +52,8 @@ public class TemplateTest {
         PropertyState mixin = createProperty("mixin", "mixin");
         PropertyTemplate[] properties = new PropertyTemplate[0];
 
-        Template t0 = new Template(primary, mixin, properties, "");
-        Template t1 = new Template(primary, mixin, properties, null);
+        Template t0 = new Template(store, primary, mixin, properties, "");
+        Template t1 = new Template(store, primary, mixin, properties, null);
 
         assertNotEquals(t0.hashCode(), t1.hashCode());
     }
@@ -56,8 +67,8 @@ public class TemplateTest {
         PropertyTemplate[] properties = new PropertyTemplate[0];
         String childNode = "c";
 
-        Template t0 = new Template(primary, null, properties, childNode);
-        Template t1 = new Template(primary, mixin, properties, childNode);
+        Template t0 = new Template(store, primary, null, properties, childNode);
+        Template t1 = new Template(store, primary, mixin, properties, childNode);
 
         assertNotEquals(t0.hashCode(), t1.hashCode());
     }
@@ -75,8 +86,8 @@ public class TemplateTest {
 
         String childNode = "c";
 
-        Template t0 = new Template(primary, mixin, pt0, childNode);
-        Template t1 = new Template(primary, mixin, pt1, childNode);
+        Template t0 = new Template(store, primary, mixin, pt0, childNode);
+        Template t1 = new Template(store, primary, mixin, pt1, childNode);
 
         assertEquals(t0, t1);
     }

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/TestUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/TestUtils.java?rev=1745182&r1=1745181&r2=1745182&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/TestUtils.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/TestUtils.java Mon May 23 12:59:22 2016
@@ -28,6 +28,7 @@ import java.util.Random;
 
 import javax.annotation.Nonnull;
 
+
 // FIXME SegmentTestUtils duplicates this
 public final class TestUtils {
     private TestUtils() {}

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ExternalBlobReferenceTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ExternalBlobReferenceTest.java?rev=1745182&r1=1745181&r2=1745182&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ExternalBlobReferenceTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ExternalBlobReferenceTest.java Mon May 23 12:59:22 2016
@@ -30,7 +30,6 @@ import java.io.InputStream;
 import com.google.common.base.Strings;
 import org.apache.jackrabbit.oak.segment.Segment;
 import org.apache.jackrabbit.oak.segment.SegmentBlob;
-import org.apache.jackrabbit.oak.segment.file.FileStore;
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
 import org.junit.After;
 import org.junit.Before;
@@ -103,7 +102,7 @@ public class ExternalBlobReferenceTest {
         doReturn(blobId).when(blobStore).writeBlob(any(InputStream.class));
         doReturn(blobLength).when(blobStore).getBlobLength(blobId);
 
-        SegmentBlob blob = fileStore.getTracker().getWriter().writeStream(newRandomInputStream(blobLength));
+        SegmentBlob blob = fileStore.getWriter().writeStream(newRandomInputStream(blobLength));
 
         assertEquals(blobLength, blob.length());
     }

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreIT.java?rev=1745182&r1=1745181&r2=1745182&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreIT.java Mon May 23 12:59:22 2016
@@ -44,7 +44,6 @@ import org.apache.jackrabbit.oak.segment
 import org.apache.jackrabbit.oak.segment.SegmentNodeBuilder;
 import org.apache.jackrabbit.oak.segment.SegmentNodeState;
 import org.apache.jackrabbit.oak.segment.SegmentWriter;
-import org.apache.jackrabbit.oak.segment.file.FileStore;
 import org.apache.jackrabbit.oak.segment.file.FileStore.ReadOnlyStore;
 import org.junit.BeforeClass;
 import org.junit.Rule;
@@ -174,7 +173,7 @@ public class FileStoreIT {
     public void segmentOverflow() throws IOException {
         for (int n = 1; n < 255; n++) {  // 255 = ListRecord.LEVEL_SIZE
             FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
-            SegmentWriter writer = store.getTracker().getWriter();
+            SegmentWriter writer = store.getWriter();
             // writer.length == 32  (from the root node)
 
             // adding 15 strings with 16516 bytes each

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreTest.java?rev=1745182&r1=1745181&r2=1745182&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreTest.java Mon May 23 12:59:22 2016
@@ -40,7 +40,7 @@ public class FileStoreTest {
     public void containsSegment() throws IOException {
         FileStore fileStore = FileStore.builder(getFileStoreFolder()).build();
         try {
-            SegmentId id = new SegmentId(fileStore.getTracker(), 0, 0);
+            SegmentId id = new SegmentId(fileStore, 0, 0);
             if (fileStore.containsSegment(id)) {
                 fileStore.readSegment(id);
             }