Beispiel #1
0
  /**
   * 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);
    }
  }