Index: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentIdTable.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentIdTable.java (revision eb2fee7014894b0a8c41d0d7dd48b35ebe118125) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentIdTable.java (revision ) @@ -26,6 +26,8 @@ import java.util.Map; import org.apache.jackrabbit.oak.plugins.segment.compaction.CompactionStrategy; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Hash table of weak references to segment identifiers. @@ -51,6 +53,9 @@ private final SegmentTracker tracker; + /** Logger instance */ + private static final Logger log = LoggerFactory.getLogger(SegmentIdTable.class); + SegmentIdTable(SegmentTracker tracker) { this.tracker = tracker; } @@ -77,6 +82,11 @@ } shouldRefresh = shouldRefresh || id == null; index = (index + 1) % references.size(); + if (index == first) { + log.debug("INDEX == FIRST, breaking out of getSegmentId() loop for MSB {} and LSB {}", msb, lsb); + shouldRefresh = true; + break; + } reference = references.get(index); } @@ -101,7 +111,6 @@ int size = references.size(); Map> ids = newHashMapWithExpectedSize(size); - boolean hashCollisions = false; boolean emptyReferences = false; for (int i = 0; i < size; i++) {