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

wave pushed a commit to branch dave2wave-branch-14693
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit 4e08ae4c6905185b2fb4c8d1954644f43550b24b
Author: Dave Fisher <[email protected]>
AuthorDate: Tue Mar 15 08:43:24 2022 -0700

    Fix #14693 JClouds Offloader fails to remove blobs
---
 .../offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java  | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git 
a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java
 
b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java
index 77e3cd2..527f51d 100644
--- 
a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java
+++ 
b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java
@@ -555,13 +555,18 @@ public class BlobStoreManagedLedgerOffloader implements 
LedgerOffloader {
         BlobStoreLocation bsKey = getBlobStoreLocation(offloadDriverMetadata);
         String readBucket = bsKey.getBucket(offloadDriverMetadata);
         BlobStore readBlobstore = 
blobStores.get(config.getBlobStoreLocation());
+        String dataContent = DataBlockUtils.dataBlockOffloadKey(ledgerId, uid);
+        String indexContent = DataBlockUtils.indexBlockOffloadKey(ledgerId, 
uid);
 
         CompletableFuture<Void> promise = new CompletableFuture<>();
         scheduler.chooseThread(ledgerId).submit(() -> {
             try {
-                readBlobstore.removeBlobs(readBucket,
-                    
ImmutableList.of(DataBlockUtils.dataBlockOffloadKey(ledgerId, uid),
-                                     
DataBlockUtils.indexBlockOffloadKey(ledgerId, uid)));
+                log.info("Remove Blob Data: " + dataContent);
+                readBlobstore.removeBlob(readBucket, dataContent);
+                log.info("Removed Blob Data: " + dataContent);
+                log.info("Remove Blob Index: " + indexContent);
+                readBlobstore.removeBlob(readBucket, indexContent);
+                log.info("Removed Blob Index: " + indexContent);
                 promise.complete(null);
             } catch (Throwable t) {
                 log.error("Failed delete Blob", t);

Reply via email to