diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/ScanAndCompareGarbageCollector.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/ScanAndCompareGarbageCollector.java index be73dab3066..99af039276c 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/ScanAndCompareGarbageCollector.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/ScanAndCompareGarbageCollector.java @@ -94,9 +94,10 @@ public ScanAndCompareGarbageCollector(LedgerManager ledgerManager, CompactableLe this.selfBookieAddress = BookieImpl.getBookieId(conf); this.gcOverReplicatedLedgerIntervalMillis = conf.getGcOverreplicatedLedgerWaitTimeMillis(); - this.lastOverReplicatedLedgerGcTimeMillis = System.currentTimeMillis(); if (gcOverReplicatedLedgerIntervalMillis > 0) { this.enableGcOverReplicatedLedger = true; + this.lastOverReplicatedLedgerGcTimeMillis = System.currentTimeMillis() + + (long) (gcOverReplicatedLedgerIntervalMillis * Math.random()); } this.maxConcurrentRequests = conf.getGcOverreplicatedLedgerMaxConcurrentRequests(); LOG.info("Over Replicated Ledger Deletion : enabled={}, interval={}, maxConcurrentRequests={}",