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