Class BlobStoreManagedLedgerOffloader

java.lang.Object
org.apache.bookkeeper.mledger.offload.jcloud.impl.BlobStoreManagedLedgerOffloader
All Implemented Interfaces:
org.apache.bookkeeper.mledger.LedgerOffloader

public class BlobStoreManagedLedgerOffloader extends Object implements org.apache.bookkeeper.mledger.LedgerOffloader
Tiered Storage Offloader that is backed by a JCloud Blob Store.

The constructor takes an instance of TieredStorageConfiguration, which contains all of the configuration data necessary to connect to a JCloud Provider service.

  • Method Details

    • create

      public static BlobStoreManagedLedgerOffloader create(TieredStorageConfiguration config, Map<String,String> userMetadata, org.apache.bookkeeper.common.util.OrderedScheduler scheduler) throws IOException
      Throws:
      IOException
    • getOffloadDriverName

      public String getOffloadDriverName()
      Specified by:
      getOffloadDriverName in interface org.apache.bookkeeper.mledger.LedgerOffloader
    • getOffloadDriverMetadata

      public Map<String,String> getOffloadDriverMetadata()
      Specified by:
      getOffloadDriverMetadata in interface org.apache.bookkeeper.mledger.LedgerOffloader
    • offload

      public CompletableFuture<Void> offload(org.apache.bookkeeper.client.api.ReadHandle readHandle, UUID uuid, Map<String,String> extraMetadata)
      Upload the DataBlocks associated with the given ReadHandle using MultiPartUpload, Creating indexBlocks for each corresponding DataBlock that is uploaded.
      Specified by:
      offload in interface org.apache.bookkeeper.mledger.LedgerOffloader
    • streamingOffload

      public CompletableFuture<org.apache.bookkeeper.mledger.LedgerOffloader.OffloadHandle> streamingOffload(@NonNull @NonNull org.apache.bookkeeper.mledger.ManagedLedger ml, UUID uuid, long beginLedger, long beginEntry, Map<String,String> driverMetadata)
      Specified by:
      streamingOffload in interface org.apache.bookkeeper.mledger.LedgerOffloader
    • readOffloaded

      public CompletableFuture<org.apache.bookkeeper.client.api.ReadHandle> readOffloaded(long ledgerId, UUID uid, Map<String,String> offloadDriverMetadata)
      Specified by:
      readOffloaded in interface org.apache.bookkeeper.mledger.LedgerOffloader
    • readOffloaded

      public CompletableFuture<org.apache.bookkeeper.client.api.ReadHandle> readOffloaded(long ledgerId, org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext ledgerContext, Map<String,String> offloadDriverMetadata)
      Specified by:
      readOffloaded in interface org.apache.bookkeeper.mledger.LedgerOffloader
    • deleteOffloaded

      public CompletableFuture<Void> deleteOffloaded(long ledgerId, UUID uid, Map<String,String> offloadDriverMetadata)
      Specified by:
      deleteOffloaded in interface org.apache.bookkeeper.mledger.LedgerOffloader
    • deleteOffloaded

      public CompletableFuture<Void> deleteOffloaded(UUID uid, Map<String,String> offloadDriverMetadata)
      Specified by:
      deleteOffloaded in interface org.apache.bookkeeper.mledger.LedgerOffloader
    • getOffloadPolicies

      public org.apache.pulsar.common.policies.data.OffloadPoliciesImpl getOffloadPolicies()
      Specified by:
      getOffloadPolicies in interface org.apache.bookkeeper.mledger.LedgerOffloader
    • close

      public void close()
      Specified by:
      close in interface org.apache.bookkeeper.mledger.LedgerOffloader