Class BlobStoreManagedLedgerOffloader
- java.lang.Object
-
- org.apache.bookkeeper.mledger.offload.jcloud.impl.BlobStoreManagedLedgerOffloader
-
- All Implemented Interfaces:
LedgerOffloader
public class BlobStoreManagedLedgerOffloader extends Object implements 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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.bookkeeper.mledger.LedgerOffloader
LedgerOffloader.OffloadHandle, LedgerOffloader.OffloadResult
-
-
Field Summary
-
Fields inherited from interface org.apache.bookkeeper.mledger.LedgerOffloader
METADATA_PULSAR_CLUSTER_NAME, METADATA_SOFTWARE_GITSHA_KEY, METADATA_SOFTWARE_VERSION_KEY
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()static BlobStoreManagedLedgerOffloadercreate(TieredStorageConfiguration config, Map<String,String> userMetadata, org.apache.bookkeeper.common.util.OrderedScheduler scheduler)CompletableFuture<Void>deleteOffloaded(long ledgerId, UUID uid, Map<String,String> offloadDriverMetadata)CompletableFuture<Void>deleteOffloaded(UUID uid, Map<String,String> offloadDriverMetadata)Map<String,String>getOffloadDriverMetadata()StringgetOffloadDriverName()org.apache.pulsar.common.policies.data.OffloadPoliciesImplgetOffloadPolicies()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.CompletableFuture<org.apache.bookkeeper.client.api.ReadHandle>readOffloaded(long ledgerId, UUID uid, Map<String,String> offloadDriverMetadata)CompletableFuture<org.apache.bookkeeper.client.api.ReadHandle>readOffloaded(long ledgerId, MLDataFormats.OffloadContext ledgerContext, Map<String,String> offloadDriverMetadata)CompletableFuture<LedgerOffloader.OffloadHandle>streamingOffload(@NonNull ManagedLedger ml, UUID uuid, long beginLedger, long beginEntry, Map<String,String> driverMetadata)
-
-
-
Method Detail
-
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:
getOffloadDriverNamein interfaceLedgerOffloader
-
getOffloadDriverMetadata
public Map<String,String> getOffloadDriverMetadata()
- Specified by:
getOffloadDriverMetadatain interfaceLedgerOffloader
-
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:
offloadin interfaceLedgerOffloader
-
streamingOffload
public CompletableFuture<LedgerOffloader.OffloadHandle> streamingOffload(@NonNull @NonNull ManagedLedger ml, UUID uuid, long beginLedger, long beginEntry, Map<String,String> driverMetadata)
- Specified by:
streamingOffloadin interfaceLedgerOffloader
-
readOffloaded
public CompletableFuture<org.apache.bookkeeper.client.api.ReadHandle> readOffloaded(long ledgerId, UUID uid, Map<String,String> offloadDriverMetadata)
- Specified by:
readOffloadedin interfaceLedgerOffloader
-
readOffloaded
public CompletableFuture<org.apache.bookkeeper.client.api.ReadHandle> readOffloaded(long ledgerId, MLDataFormats.OffloadContext ledgerContext, Map<String,String> offloadDriverMetadata)
- Specified by:
readOffloadedin interfaceLedgerOffloader
-
deleteOffloaded
public CompletableFuture<Void> deleteOffloaded(long ledgerId, UUID uid, Map<String,String> offloadDriverMetadata)
- Specified by:
deleteOffloadedin interfaceLedgerOffloader
-
deleteOffloaded
public CompletableFuture<Void> deleteOffloaded(UUID uid, Map<String,String> offloadDriverMetadata)
- Specified by:
deleteOffloadedin interfaceLedgerOffloader
-
getOffloadPolicies
public org.apache.pulsar.common.policies.data.OffloadPoliciesImpl getOffloadPolicies()
- Specified by:
getOffloadPoliciesin interfaceLedgerOffloader
-
close
public void close()
- Specified by:
closein interfaceLedgerOffloader
-
-