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/17 15:54:09 UTC
svn commit: r1744290 - in
/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment:
./ file/
Author: mduerig
Date: Tue May 17 15:54:08 2016
New Revision: 1744290
URL: http://svn.apache.org/viewvc?rev=1744290&view=rev
Log:
@Trivial: use generation instead of abbreviated "gen" in identifiers
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Segment.java
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/SegmentBufferWriterPool.java
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentGraph.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/SegmentWriter.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/file/TarReader.java
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Segment.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Segment.java?rev=1744290&r1=1744289&r2=1744290&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Segment.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Segment.java Tue May 17 15:54:08 2016
@@ -324,7 +324,7 @@ public class Segment {
* @param segmentId the id of the segment
* @return the gc generation of this segment or 0 if this is bulk segment.
*/
- public static int getGcGen(ByteBuffer data, UUID segmentId) {
+ public static int getGcGeneration(ByteBuffer data, UUID segmentId) {
return isDataSegmentId(segmentId.getLeastSignificantBits())
? data.getInt(GC_GEN_OFFSET)
: 0;
@@ -335,8 +335,8 @@ public class Segment {
* generations (i.e. stay at 0).
* @return the gc generation of this segment or 0 if this is bulk segment.
*/
- public int getGcGen() {
- return getGcGen(data, id.asUUID());
+ public int getGcGeneration() {
+ return getGcGeneration(data, id.asUUID());
}
public RecordType getRootType(int index) {
@@ -686,7 +686,7 @@ public class Segment {
writer.format("Segment %s (%d bytes)%n", id, length);
String segmentInfo = getSegmentInfo();
if (segmentInfo != null) {
- writer.format("Info: %s, Generation: %d%n", segmentInfo, getGcGen());
+ writer.format("Info: %s, Generation: %d%n", segmentInfo, getGcGeneration());
}
if (id.isDataSegmentId()) {
writer.println("--------------------------------------------------------------------------");
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=1744290&r1=1744289&r2=1744290&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 Tue May 17 15:54:08 2016
@@ -125,7 +125,7 @@ public class SegmentBufferWriter impleme
}
public SegmentBufferWriter(SegmentStore store, SegmentVersion version, String wid) {
- this(store, version, wid, store.getTracker().getGcGen());
+ this(store, version, wid, store.getTracker().getGcGeneration());
}
@Override
@@ -222,12 +222,12 @@ public class SegmentBufferWriter impleme
buffer[position++] = (byte) (offset >> Segment.RECORD_ALIGN_BITS);
}
- // FIXME OAK-4287: Disable / remove SegmentBufferWriter#checkGCGen
+ // FIXME OAK-4287: Disable / remove SegmentBufferWriter#checkGCGeneration
// Disable/remove this in production
- private void checkGCGen(SegmentId id) {
+ private void checkGCGeneration(SegmentId id) {
try {
if (isDataSegmentId(id.getLeastSignificantBits())) {
- if (id.getSegment().getGcGen() < generation) {
+ if (id.getSegment().getGcGeneration() < generation) {
LOG.warn("Detected reference from {} to segment {} from a previous gc generation.",
info(this.segment), info(id.getSegment()), new Exception());
}
@@ -247,7 +247,7 @@ public class SegmentBufferWriter impleme
}
private int getSegmentRef(SegmentId segmentId) {
- checkGCGen(segmentId);
+ checkGCGeneration(segmentId);
int refCount = segment.getRefCount();
if (refCount > SEGMENT_REFERENCE_LIMIT) {
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPool.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPool.java?rev=1744290&r1=1744289&r2=1744290&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPool.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPool.java Tue May 17 15:54:08 2016
@@ -81,7 +81,7 @@ class SegmentBufferWriterPool implements
SegmentBufferWriter writer = writers.remove(key);
if (writer == null) {
writer = new SegmentBufferWriter(store, version, getWriterId(wid));
- } else if (writer.getGeneration() != store.getTracker().getGcGen()) {
+ } else if (writer.getGeneration() != store.getTracker().getGcGeneration()) {
disposed.add(writer);
writer = new SegmentBufferWriter(store, version, getWriterId(wid));
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentGraph.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentGraph.java?rev=1744290&r1=1744289&r2=1744290&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentGraph.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentGraph.java Tue May 17 15:54:08 2016
@@ -535,7 +535,7 @@ public final class SegmentGraph {
}
Segment segment = getSegmentId().getSegment();
infoMap.put("size", valueOf(segment.size()));
- infoMap.put("gc", valueOf(segment.getGcGen()));
+ infoMap.put("gc", valueOf(segment.getGcGeneration()));
return infoMap;
} catch (SegmentNotFoundException e) {
return singletonMap("error", getStackTraceAsString(e));
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=1744290&r1=1744289&r2=1744290&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 May 17 15:54:08 2016
@@ -241,9 +241,9 @@ public class SegmentTracker {
// FIXME OAK-4102: Break cyclic dependency of FileStore and SegmentTracker
// Improve retrieving current GC generation. (OAK-4102)
// See also the comments in FileStore regarding initialisation and cyclic dependencies.
- public int getGcGen() {
+ public int getGcGeneration() {
if (store instanceof FileStore) {
- return ((FileStore) store).getGcGen();
+ return ((FileStore) store).getGcGeneration();
} else {
return 0;
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentWriter.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentWriter.java?rev=1744290&r1=1744289&r2=1744290&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentWriter.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentWriter.java Tue May 17 15:54:08 2016
@@ -632,7 +632,7 @@ public class SegmentWriter {
private RecordId writeBlob(Blob blob) throws IOException {
if (hasSegment(blob)) {
SegmentBlob segmentBlob = (SegmentBlob) blob;
- if (!isOldGen(segmentBlob.getRecordId())) {
+ if (!isOldGeneration(segmentBlob.getRecordId())) {
return segmentBlob.getRecordId();
}
}
@@ -681,7 +681,7 @@ public class SegmentWriter {
// This is either not a segment stream or a one from another store:
// fully serialise the stream.
id = internalWriteStream(stream);
- } else if (isOldGen(id)) {
+ } else if (isOldGeneration(id)) {
// This is a segment stream from this store but from an old generation:
// try to link to the blocks if there are any.
SegmentStream segmentStream = (SegmentStream) stream;
@@ -860,7 +860,7 @@ public class SegmentWriter {
if (hasSegment(sns)) {
// This is a segment node state from an old generation. Check whether
// an equivalent one of the current generation is in the cache
- if (isOldGen(sns.getRecordId())) {
+ if (isOldGeneration(sns.getRecordId())) {
RecordId cachedId = nodeCache.get(sns.getStableId());
if (cachedId != null) {
return cachedId;
@@ -894,7 +894,7 @@ public class SegmentWriter {
if (base instanceof SegmentNodeState) {
SegmentNodeState sns = ((SegmentNodeState) base);
if (hasSegment(sns)) {
- if (!isOldGen(sns.getRecordId())) {
+ if (!isOldGeneration(sns.getRecordId())) {
before = sns;
beforeTemplate = before.getTemplate();
}
@@ -940,7 +940,7 @@ public class SegmentWriter {
if (hasSegment(property)) {
RecordId pid = ((Record) property).getRecordId();
- if (isOldGen(pid)) {
+ if (isOldGeneration(pid)) {
pIds.add(writeProperty(property));
} else {
pIds.add(pid);
@@ -998,8 +998,8 @@ public class SegmentWriter {
&& (getTracker().isTracking(((Record) property).getRecordId().getSegmentId()));
}
- private boolean isOldGen(RecordId id) {
- int thatGen = id.getSegment().getGcGen();
+ private boolean isOldGeneration(RecordId id) {
+ int thatGen = id.getSegment().getGcGeneration();
int thisGen = writer.getGeneration();
return thatGen < thisGen;
}
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=1744290&r1=1744289&r2=1744290&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 May 17 15:54:08 2016
@@ -570,7 +570,7 @@ public class FileStore implements Segmen
// FIXME OAK-4102: Break cyclic dependency of FileStore and SegmentTracker
// We cannot determine the current GC generation before the FileStore is fully
// initialised so just return 0 for now.
- public int getGcGen() {
+ public int getGcGeneration() {
if (head == null) {
return 0; // not fully initialised
}
@@ -578,7 +578,7 @@ public class FileStore implements Segmen
if (headId == null) {
return 0; // not fully initialised
}
- return headId.getSegment().getGcGen();
+ return headId.getSegment().getGcGeneration();
}
public void maybeCompact(boolean cleanup) throws IOException {
@@ -863,7 +863,7 @@ public class FileStore implements Segmen
*/
public List<File> cleanup() throws IOException {
return cleanup(new Predicate<Integer>() {
- final int reclaimGeneration = getGcGen() - gcOptions.getRetainedGenerations();
+ final int reclaimGeneration = getGcGeneration() - gcOptions.getRetainedGenerations();
@Override
public boolean apply(Integer generation) {
return generation <= reclaimGeneration;
@@ -988,7 +988,7 @@ public class FileStore implements Segmen
fileStoreLock.writeLock().unlock();
}
- int minGeneration = getGcGen() - gcOptions.getRetainedGenerations() + 1;
+ int minGeneration = getGcGeneration() - gcOptions.getRetainedGenerations() + 1;
for (TarReader tarReader : tarReaders) {
tarReader.collectBlobReferences(tracker, collector, minGeneration);
}
@@ -1067,7 +1067,7 @@ public class FileStore implements Segmen
// FIXME OAK-4279: Rework offline compaction
// This way of compacting has no progress logging
- final int gcGeneration = tracker.getGcGen() + 1;
+ final int gcGeneration = tracker.getGcGeneration() + 1;
SegmentWriter writer = new SegmentWriter(this, version,
new SegmentBufferWriter(this, version, "c", gcGeneration),
new RecordCache<String>() {
@@ -1387,7 +1387,7 @@ public class FileStore implements Segmen
public void writeSegment(SegmentId id, byte[] data, int offset, int length) throws IOException {
fileStoreLock.writeLock().lock();
try {
- int generation = Segment.getGcGen(wrap(data, offset, length), id.asUUID());
+ int generation = Segment.getGcGeneration(wrap(data, offset, length), id.asUUID());
long size = writer.writeEntry(
id.getMostSignificantBits(),
id.getLeastSignificantBits(),
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarReader.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarReader.java?rev=1744290&r1=1744289&r2=1744290&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarReader.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarReader.java Tue May 17 15:54:08 2016
@@ -30,7 +30,7 @@ import static com.google.common.collect.
import static java.nio.ByteBuffer.wrap;
import static java.util.Collections.singletonList;
import static org.apache.jackrabbit.oak.segment.Segment.REF_COUNT_OFFSET;
-import static org.apache.jackrabbit.oak.segment.Segment.getGcGen;
+import static org.apache.jackrabbit.oak.segment.Segment.getGcGeneration;
import static org.apache.jackrabbit.oak.segment.SegmentId.isDataSegmentId;
import static org.apache.jackrabbit.oak.segment.file.TarWriter.GRAPH_MAGIC;
@@ -218,7 +218,7 @@ class TarReader implements Closeable {
for (Map.Entry<UUID, byte[]> entry : entries.entrySet()) {
UUID uuid = entry.getKey();
byte[] data = entry.getValue();
- int generation = getGcGen(wrap(data), uuid);
+ int generation = getGcGeneration(wrap(data), uuid);
writer.writeEntry(
uuid.getMostSignificantBits(),
uuid.getLeastSignificantBits(),