Class BlobStoreManagedLedgerOffloader
java.lang.Object
org.apache.bookkeeper.mledger.offload.jcloud.impl.BlobStoreManagedLedgerOffloader
- All Implemented Interfaces:
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
Modifier and TypeMethodDescriptionvoidclose()create(TieredStorageConfiguration config, Map<String, String> userMetadata, org.apache.bookkeeper.common.util.OrderedScheduler scheduler, LedgerOffloaderStats offloaderStats) deleteOffloaded(long ledgerId, UUID uid, Map<String, String> offloadDriverMetadata) deleteOffloaded(UUID uid, Map<String, String> offloadDriverMetadata) org.apache.pulsar.common.policies.data.OffloadPoliciesImploffload(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) voidscanLedgers(OffloadedLedgerMetadataConsumer consumer, Map<String, String> offloadDriverMetadata) streamingOffload(@NonNull ManagedLedger ml, UUID uuid, long beginLedger, long beginEntry, Map<String, String> driverMetadata)
-
Method Details
-
create
public static BlobStoreManagedLedgerOffloader create(TieredStorageConfiguration config, Map<String, String> userMetadata, org.apache.bookkeeper.common.util.OrderedScheduler scheduler, LedgerOffloaderStats offloaderStats) throws IOException- Throws:
IOException
-
getOffloadDriverName
- Specified by:
getOffloadDriverNamein interfaceLedgerOffloader
-
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
- 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
-
scanLedgers
public void scanLedgers(OffloadedLedgerMetadataConsumer consumer, Map<String, String> offloadDriverMetadata) throws ManagedLedgerException- Specified by:
scanLedgersin interfaceLedgerOffloader- Throws:
ManagedLedgerException
-