You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by wa...@apache.org on 2022/03/15 16:27:29 UTC

[pulsar] 01/01: JCloud Offloader Now Removes S3 Objects (#14693)

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

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

commit 1a603746306eec97c1aa1d2b733e7f3dfc03e245
Author: Dave Fisher <da...@datastax.com>
AuthorDate: Tue Mar 15 09:22:22 2022 -0700

    JCloud Offloader Now Removes S3 Objects (#14693)
---
 .../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);