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 java.lang.Object implements org.apache.bookkeeper.mledger.LedgerOffloaderTiered 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 Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()static BlobStoreManagedLedgerOffloadercreate(TieredStorageConfiguration config, java.util.Map<java.lang.String,java.lang.String> userMetadata, org.apache.bookkeeper.common.util.OrderedScheduler scheduler)java.util.concurrent.CompletableFuture<java.lang.Void>deleteOffloaded(long ledgerId, java.util.UUID uid, java.util.Map<java.lang.String,java.lang.String> offloadDriverMetadata)java.util.concurrent.CompletableFuture<java.lang.Void>deleteOffloaded(java.util.UUID uid, java.util.Map<java.lang.String,java.lang.String> offloadDriverMetadata)java.util.Map<java.lang.String,java.lang.String>getOffloadDriverMetadata()java.lang.StringgetOffloadDriverName()org.apache.pulsar.common.policies.data.OffloadPoliciesImplgetOffloadPolicies()java.util.concurrent.CompletableFuture<java.lang.Void>offload(org.apache.bookkeeper.client.api.ReadHandle readHandle, java.util.UUID uuid, java.util.Map<java.lang.String,java.lang.String> extraMetadata)Upload the DataBlocks associated with the given ReadHandle using MultiPartUpload, Creating indexBlocks for each corresponding DataBlock that is uploaded.java.util.concurrent.CompletableFuture<org.apache.bookkeeper.client.api.ReadHandle>readOffloaded(long ledgerId, java.util.UUID uid, java.util.Map<java.lang.String,java.lang.String> offloadDriverMetadata)java.util.concurrent.CompletableFuture<org.apache.bookkeeper.client.api.ReadHandle>readOffloaded(long ledgerId, org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext ledgerContext, java.util.Map<java.lang.String,java.lang.String> offloadDriverMetadata)java.util.concurrent.CompletableFuture<org.apache.bookkeeper.mledger.LedgerOffloader.OffloadHandle>streamingOffload(@NonNull org.apache.bookkeeper.mledger.ManagedLedger ml, java.util.UUID uuid, long beginLedger, long beginEntry, java.util.Map<java.lang.String,java.lang.String> driverMetadata)
-
-
-
Method Detail
-
create
public static BlobStoreManagedLedgerOffloader create(TieredStorageConfiguration config, java.util.Map<java.lang.String,java.lang.String> userMetadata, org.apache.bookkeeper.common.util.OrderedScheduler scheduler) throws java.io.IOException
- Throws:
java.io.IOException
-
getOffloadDriverName
public java.lang.String getOffloadDriverName()
- Specified by:
getOffloadDriverNamein interfaceorg.apache.bookkeeper.mledger.LedgerOffloader
-
getOffloadDriverMetadata
public java.util.Map<java.lang.String,java.lang.String> getOffloadDriverMetadata()
- Specified by:
getOffloadDriverMetadatain interfaceorg.apache.bookkeeper.mledger.LedgerOffloader
-
offload
public java.util.concurrent.CompletableFuture<java.lang.Void> offload(org.apache.bookkeeper.client.api.ReadHandle readHandle, java.util.UUID uuid, java.util.Map<java.lang.String,java.lang.String> extraMetadata)Upload the DataBlocks associated with the given ReadHandle using MultiPartUpload, Creating indexBlocks for each corresponding DataBlock that is uploaded.- Specified by:
offloadin interfaceorg.apache.bookkeeper.mledger.LedgerOffloader
-
streamingOffload
public java.util.concurrent.CompletableFuture<org.apache.bookkeeper.mledger.LedgerOffloader.OffloadHandle> streamingOffload(@NonNull @NonNull org.apache.bookkeeper.mledger.ManagedLedger ml, java.util.UUID uuid, long beginLedger, long beginEntry, java.util.Map<java.lang.String,java.lang.String> driverMetadata)- Specified by:
streamingOffloadin interfaceorg.apache.bookkeeper.mledger.LedgerOffloader
-
readOffloaded
public java.util.concurrent.CompletableFuture<org.apache.bookkeeper.client.api.ReadHandle> readOffloaded(long ledgerId, java.util.UUID uid, java.util.Map<java.lang.String,java.lang.String> offloadDriverMetadata)- Specified by:
readOffloadedin interfaceorg.apache.bookkeeper.mledger.LedgerOffloader
-
readOffloaded
public java.util.concurrent.CompletableFuture<org.apache.bookkeeper.client.api.ReadHandle> readOffloaded(long ledgerId, org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext ledgerContext, java.util.Map<java.lang.String,java.lang.String> offloadDriverMetadata)- Specified by:
readOffloadedin interfaceorg.apache.bookkeeper.mledger.LedgerOffloader
-
deleteOffloaded
public java.util.concurrent.CompletableFuture<java.lang.Void> deleteOffloaded(long ledgerId, java.util.UUID uid, java.util.Map<java.lang.String,java.lang.String> offloadDriverMetadata)- Specified by:
deleteOffloadedin interfaceorg.apache.bookkeeper.mledger.LedgerOffloader
-
deleteOffloaded
public java.util.concurrent.CompletableFuture<java.lang.Void> deleteOffloaded(java.util.UUID uid, java.util.Map<java.lang.String,java.lang.String> offloadDriverMetadata)- Specified by:
deleteOffloadedin interfaceorg.apache.bookkeeper.mledger.LedgerOffloader
-
getOffloadPolicies
public org.apache.pulsar.common.policies.data.OffloadPoliciesImpl getOffloadPolicies()
- Specified by:
getOffloadPoliciesin interfaceorg.apache.bookkeeper.mledger.LedgerOffloader
-
close
public void close()
- Specified by:
closein interfaceorg.apache.bookkeeper.mledger.LedgerOffloader
-
-