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 11:54:53 UTC
svn commit: r1745158 - in
/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment:
SegmentBufferWriter.java SegmentTracker.java
Author: mduerig
Date: Mon May 23 11:54:53 2016
New Revision: 1745158
URL: http://svn.apache.org/viewvc?rev=1745158&view=rev
Log:
OAK-4373: Refactor SegmentTracker
Improve the way segment ids are counted by tying the counter to the segment id factory
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriter.java
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentTracker.java
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriter.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriter.java?rev=1745158&r1=1745157&r2=1745158&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriter.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriter.java Mon May 23 11:54:53 2016
@@ -169,7 +169,7 @@ public class SegmentBufferWriter impleme
String metaInfo =
"{\"wid\":\"" + wid + '"' +
- ",\"sno\":" + tracker.getNextSegmentNo() +
+ ",\"sno\":" + tracker.getSegmentCount() +
",\"t\":" + currentTimeMillis() + "}";
try {
segment = new Segment(tracker, buffer, metaInfo);
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=1745158&r1=1745157&r2=1745158&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 Mon May 23 11:54:53 2016
@@ -104,7 +104,7 @@ public class SegmentTracker {
private final CacheLIRS<SegmentId, Segment> segmentCache;
/**
- * Number of segments
+ * Number of segment tracked since this tracker was instantiated
*/
private final AtomicInteger segmentCounter = new AtomicInteger();
@@ -150,11 +150,11 @@ public class SegmentTracker {
}
/**
- * Increment and get the number of segments
- * @return
+ * Number of segment tracked since this tracker was instantiated
+ * @return count
*/
- int getNextSegmentNo() {
- return segmentCounter.incrementAndGet();
+ int getSegmentCount() {
+ return segmentCounter.get();
}
public boolean isTracking(SegmentId segmentId) {
@@ -282,6 +282,7 @@ public class SegmentTracker {
}
private SegmentId newSegmentId(long type) {
+ segmentCounter.incrementAndGet();
long msb = (random.nextLong() & MSB_MASK) | VERSION;
long lsb = (random.nextLong() & LSB_MASK) | type;
return getSegmentId(msb, lsb);