Author: mduerig
Date: Tue Jun 14 14:32:43 2016
New Revision: 1748424
URL: http://svn.apache.org/viewvc?rev=1748424&view=rev
Log:
OAK-4102: Break cyclic dependency of FileStore and SegmentTracker
Rename remaining getSegmentId methods to newSegmentId to better align the name
with the semantics
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentIdTable.java
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentTracker.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/http/HttpStore.java
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStore.java
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentIdTableBenchmark.java
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentIdTableTest.java
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentIdTable.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentIdTable.java?rev=1748424&r1=1748423&r2=1748424&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentIdTable.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentIdTable.java
Tue Jun 14 14:32:43 2016
@@ -88,7 +88,7 @@ public class SegmentIdTable {
* @return the segment id
*/
@Nonnull
- synchronized SegmentId getSegmentId(long msb, long lsb, SegmentIdFactory
maker) {
+ synchronized SegmentId newSegmentId(long msb, long lsb, SegmentIdFactory
maker) {
int index = getIndex(lsb);
boolean shouldRefresh = false;
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentTracker.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentTracker.java?rev=1748424&r1=1748423&r2=1748424&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentTracker.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentTracker.java
Tue Jun 14 14:32:43 2016
@@ -104,9 +104,9 @@ public class SegmentTracker {
* @return the segment id
*/
@Nonnull
- public SegmentId getSegmentId(long msb, long lsb, SegmentIdFactory maker) {
+ public SegmentId newSegmentId(long msb, long lsb, SegmentIdFactory maker) {
int index = ((int) msb) & (tables.length - 1);
- return tables[index].getSegmentId(msb, lsb, maker);
+ return tables[index].newSegmentId(msb, lsb, maker);
}
/**
@@ -136,7 +136,7 @@ public class SegmentTracker {
segmentCounter.incrementAndGet();
long msb = (random.nextLong() & MSB_MASK) | VERSION;
long lsb = (random.nextLong() & LSB_MASK) | type;
- return getSegmentId(msb, lsb, maker);
+ return newSegmentId(msb, lsb, maker);
}
public synchronized void clearSegmentIdTables(@Nonnull Set<UUID>
reclaimed, @Nonnull String gcInfo) {
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=1748424&r1=1748423&r2=1748424&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
Tue Jun 14 14:32:43 2016
@@ -1253,7 +1253,7 @@ public class FileStore implements Segmen
@Override
@Nonnull
public SegmentId newSegmentId(long msb, long lsb) {
- return tracker.getSegmentId(msb, lsb, segmentIdFactory);
+ return tracker.newSegmentId(msb, lsb, segmentIdFactory);
}
@Override
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/http/HttpStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/http/HttpStore.java?rev=1748424&r1=1748423&r2=1748424&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/http/HttpStore.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/http/HttpStore.java
Tue Jun 14 14:32:43 2016
@@ -113,7 +113,7 @@ public class HttpStore implements Segmen
@Override
@Nonnull
public SegmentId newSegmentId(long msb, long lsb) {
- return tracker.getSegmentId(msb, lsb, segmentIdFactory);
+ return tracker.newSegmentId(msb, lsb, segmentIdFactory);
}
@Override
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStore.java?rev=1748424&r1=1748423&r2=1748424&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStore.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStore.java
Tue Jun 14 14:32:43 2016
@@ -122,7 +122,7 @@ public class MemoryStore implements Segm
@Override
@Nonnull
public SegmentId newSegmentId(long msb, long lsb) {
- return tracker.getSegmentId(msb, lsb, segmentIdFactory);
+ return tracker.newSegmentId(msb, lsb, segmentIdFactory);
}
@Override
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentIdTableBenchmark.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentIdTableBenchmark.java?rev=1748424&r1=1748423&r2=1748424&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentIdTableBenchmark.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentIdTableBenchmark.java
Tue Jun 14 14:32:43 2016
@@ -63,7 +63,7 @@ public class SegmentIdTableBenchmark {
final SegmentIdTable tbl = new SegmentIdTable();
for (int i = 0; i < repeat; i++) {
for (int j = 0; j < count; j++) {
- tbl.getSegmentId(j, array[j], maker);
+ tbl.newSegmentId(j, array[j], maker);
}
}
time = System.currentTimeMillis() - time;
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentIdTableTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentIdTableTest.java?rev=1748424&r1=1748423&r2=1748424&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentIdTableTest.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentIdTableTest.java
Tue Jun 14 14:32:43 2016
@@ -66,7 +66,7 @@ public class SegmentIdTableTest {
List<SegmentId> refs = new ArrayList<SegmentId>();
for (int i = 0; i < 1024; i++) {
- refs.add(tbl.getSegmentId(i, i % 64, maker));
+ refs.add(tbl.newSegmentId(i, i % 64, maker));
}
Callable<SegmentId> c = new Callable<SegmentId>() {
@@ -74,7 +74,7 @@ public class SegmentIdTableTest {
@Override
public SegmentId call() throws Exception {
// (2,1) doesn't exist
- return tbl.getSegmentId(2, 1, maker);
+ return tbl.newSegmentId(2, 1, maker);
}
};
Future<SegmentId> f = Executors.newSingleThreadExecutor().submit(c);
@@ -97,7 +97,7 @@ public class SegmentIdTableTest {
List<SegmentId> refs = new ArrayList<SegmentId>();
Random r = new Random(1);
for (int i = 0; i < 16 * 1024; i++) {
- refs.add(tbl.getSegmentId(r.nextLong(), r.nextLong(), maker));
+ refs.add(tbl.newSegmentId(r.nextLong(), r.nextLong(), maker));
}
assertEquals(16 * 1024, tbl.getEntryCount());
assertEquals(16 * 2048, tbl.getMapSize());
@@ -105,7 +105,7 @@ public class SegmentIdTableTest {
r = new Random(1);
for (int i = 0; i < 16 * 1024; i++) {
- refs.add(tbl.getSegmentId(r.nextLong(), r.nextLong(), maker));
+ refs.add(tbl.newSegmentId(r.nextLong(), r.nextLong(), maker));
assertEquals(16 * 1024, tbl.getEntryCount());
assertEquals(16 * 2048, tbl.getMapSize());
assertEquals(5, tbl.getMapRebuildCount());
@@ -119,7 +119,7 @@ public class SegmentIdTableTest {
List<SegmentId> refs = new ArrayList<SegmentId>();
for (int i = 0; i < 8; i++) {
- refs.add(tbl.getSegmentId(i, i % 2, maker));
+ refs.add(tbl.newSegmentId(i, i % 2, maker));
}
Set<UUID> reclaimed = newHashSet();
@@ -151,7 +151,7 @@ public class SegmentIdTableTest {
int originalCount = 1024;
for (int i = 0; i < originalCount; i++) {
// modulo 128 to ensure we have conflicts
- refs.add(tbl.getSegmentId(i, i % 128, maker));
+ refs.add(tbl.newSegmentId(i, i % 128, maker));
}
assertEquals(originalCount, tbl.getEntryCount());
assertEquals(1, tbl.getMapRebuildCount());
@@ -175,7 +175,7 @@ public class SegmentIdTableTest {
int originalCount = 1024;
for (int i = 0; i < originalCount; i++) {
// modulo 128 to ensure we have conflicts
- refs.add(tbl.getSegmentId(i, i % 128, maker));
+ refs.add(tbl.newSegmentId(i, i % 128, maker));
}
assertEquals(originalCount, tbl.getEntryCount());
assertEquals(1, tbl.getMapRebuildCount());
@@ -193,7 +193,7 @@ public class SegmentIdTableTest {
for (SegmentId id : refs) {
long msb = id.getMostSignificantBits();
long lsb = id.getLeastSignificantBits();
- SegmentId id2 = tbl.getSegmentId(msb, lsb, maker);
+ SegmentId id2 = tbl.newSegmentId(msb, lsb, maker);
assertTrue(id2 == id);
}
// because we found each entry, we expect the refresh count is the
same
@@ -203,7 +203,7 @@ public class SegmentIdTableTest {
// it is supposed to detect that entries were removed,
// and force a refresh, which would get rid of the unreferenced ids
for (int i = 0; i < 10; i++) {
- tbl.getSegmentId(i, i, maker);
+ tbl.newSegmentId(i, i, maker);
}
if (tbl.getEntryCount() < originalCount) {