/** * Tracks the given offset as obsolete or non-obsolete. * * <p>Must be called under the log write latch. */ void trackObsolete(long offset) { if (!trackDetail) { return; } int adjustMem = 0; if (obsoleteOffsets == null) { obsoleteOffsets = new OffsetList(); adjustMem += MemoryBudget.TFS_LIST_INITIAL_OVERHEAD; } if (obsoleteOffsets.add(offset, tracker.getEnvironment().isOpen())) { adjustMem += MemoryBudget.TFS_LIST_SEGMENT_OVERHEAD; } if (adjustMem != 0) { updateMemoryBudget(adjustMem); } }