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);
}