Author: frm
Date: Tue Sep  6 15:48:10 2016
New Revision: 1759450

URL: http://svn.apache.org/viewvc?rev=1759450&view=rev
Log:
OAK-4766 - Let StandbyStore own the Segment and SegmentId it uses

Modified:
    
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/store/StandbyStore.java

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/store/StandbyStore.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/store/StandbyStore.java?rev=1759450&r1=1759449&r2=1759450&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/store/StandbyStore.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/store/StandbyStore.java
 Tue Sep  6 15:48:10 2016
@@ -61,19 +61,25 @@ public class StandbyStore implements Seg
     @Nonnull
     @Override
     public SegmentId newSegmentId(long msb, long lsb) {
-        return delegate.newSegmentId(msb, lsb);
+        return new SegmentId(this, msb, lsb);
     }
 
     @Nonnull
     @Override
     public SegmentId newBulkSegmentId() {
-        return delegate.newBulkSegmentId();
+        SegmentId segmentId = delegate.newBulkSegmentId();
+        long msb = segmentId.getMostSignificantBits();
+        long lsb = segmentId.getLeastSignificantBits();
+        return newSegmentId(msb, lsb);
     }
 
     @Nonnull
     @Override
     public SegmentId newDataSegmentId() {
-        return delegate.newDataSegmentId();
+        SegmentId segmentId = delegate.newDataSegmentId();
+        long msb = segmentId.getMostSignificantBits();
+        long lsb = segmentId.getLeastSignificantBits();
+        return newSegmentId(msb, lsb);
     }
 
     @Override
@@ -264,7 +270,7 @@ public class StandbyStore implements Seg
     }
 
     public Segment newSegment(SegmentId segmentId, ByteBuffer buffer) {
-        return new Segment(delegate, delegate.getReader(), segmentId, buffer);
+        return new Segment(this, delegate.getReader(), segmentId, buffer);
     }
 
     public BlobStore getBlobStore() {


Reply via email to