This is an automated email from the ASF dual-hosted git repository.

lushiji pushed a commit to branch revert-3772-fix-checkpoint
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git

commit 306a42af6f66b75511860198a8788049fe977e5e
Author: StevenLuMT <[email protected]>
AuthorDate: Fri Apr 7 17:08:30 2023 +0800

    Revert "Execute clean indexes in finally (#3772)"
    
    This reverts commit 04e572b9bccd1502c0f2c4a87f23d760d4d0d9b5.
---
 .../ldb/SingleDirectoryDbLedgerStorage.java        | 29 +++++++++++-----------
 1 file changed, 15 insertions(+), 14 deletions(-)

diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/SingleDirectoryDbLedgerStorage.java
 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/SingleDirectoryDbLedgerStorage.java
index 9f089d9864..635a2727f9 100644
--- 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/SingleDirectoryDbLedgerStorage.java
+++ 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/SingleDirectoryDbLedgerStorage.java
@@ -824,6 +824,21 @@ public class SingleDirectoryDbLedgerStorage implements 
CompactableLedgerStorage
             ledgerIndex.flush();
             
recordSuccessfulEvent(dbLedgerStorageStats.getFlushLedgerIndexStats(), 
ledgerIndexStartTime);
 
+            cleanupExecutor.execute(() -> {
+                // There can only be one single cleanup task running because 
the cleanupExecutor
+                // is single-threaded
+                try {
+                    if (log.isDebugEnabled()) {
+                        log.debug("Removing deleted ledgers from db indexes");
+                    }
+
+                    entryLocationIndex.removeOffsetFromDeletedLedgers();
+                    ledgerIndex.removeDeletedLedgers();
+                } catch (Throwable t) {
+                    log.warn("Failed to cleanup db indexes", t);
+                }
+            });
+
             lastCheckpoint = thisCheckpoint;
 
             // Discard all the entry from the write cache, since they're now 
persisted
@@ -843,20 +858,6 @@ public class SingleDirectoryDbLedgerStorage implements 
CompactableLedgerStorage
             // Leave IOExecption as it is
             throw e;
         } finally {
-            cleanupExecutor.execute(() -> {
-                // There can only be one single cleanup task running because 
the cleanupExecutor
-                // is single-threaded
-                try {
-                    if (log.isDebugEnabled()) {
-                        log.debug("Removing deleted ledgers from db indexes");
-                    }
-
-                    entryLocationIndex.removeOffsetFromDeletedLedgers();
-                    ledgerIndex.removeDeletedLedgers();
-                } catch (Throwable t) {
-                    log.warn("Failed to cleanup db indexes", t);
-                }
-            });
             try {
                 isFlushOngoing.set(false);
             } finally {

Reply via email to