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() {