Index: src/main/java/org/apache/jackrabbit/oak/plugins/segment/PersistedCompactionMap.java =================================================================== --- src/main/java/org/apache/jackrabbit/oak/plugins/segment/PersistedCompactionMap.java (revision 1707078) +++ src/main/java/org/apache/jackrabbit/oak/plugins/segment/PersistedCompactionMap.java (working copy) @@ -69,6 +69,8 @@ private long recordCount; private MapRecord entries; + private boolean closed = false; + PersistedCompactionMap(@Nonnull FileStore store) { this.store = store; } @@ -99,7 +101,7 @@ return recordId; } - return get(store.getTracker(), entries, uuid, offset); + return entries == null ? null : get(store.getTracker(), entries, uuid, offset); } @CheckForNull @@ -174,7 +176,7 @@ } private void compress(@Nonnull Set removed) { - if (recent.isEmpty() && removed.isEmpty()) { + if (closed || recent.isEmpty() && removed.isEmpty()) { return; } @@ -221,6 +223,11 @@ writer.writeString(mapInfo); writer.flush(); recent.clear(); + + if (recordCount == 0) { + entries = null; + closed = true; + } } /**