public class AzureBlockBlobTierObjectStore extends Object implements TierObjectStore
TierObjectStore.Backend, TierObjectStore.BackupObjectsListMetadata, TierObjectStore.DataTypePathPrefix, TierObjectStore.FileType, TierObjectStore.KeyAndVersion, TierObjectStore.LifecycleManagerStateMetadata, TierObjectStore.ObjectMetadata, TierObjectStore.ObjectStoreMetadata, TierObjectStore.OpaqueData, TierObjectStore.TierStateRestoreSnapshotMetadata
Constructor and Description |
---|
AzureBlockBlobTierObjectStore(AzureBlockBlobTierObjectStoreConfig config) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
deleteSegment(TierObjectStore.ObjectMetadata objectMetadata) |
void |
deleteVersions(List<TierObjectStore.KeyAndVersion> keys) |
TierObjectStore.Backend |
getBackend() |
TierObjectStoreResponse |
getObject(TierObjectStore.ObjectStoreMetadata objectMetadata,
TierObjectStore.FileType fileType,
Integer byteOffsetStart,
Integer byteOffsetEnd) |
Map<String,List<VersionInformation>> |
listObject(String keyPrefix,
boolean getVersionInfo) |
boolean |
objectExists(TierObjectStore.ObjectMetadata objectMetadata,
TierObjectStore.FileType type) |
TierObjectStore.OpaqueData |
prepPutSegment() |
void |
putBuf(String key,
Map<String,String> metadata,
ByteBuffer buf) |
void |
putInMemorySegment(TierObjectStore.ObjectMetadata objectMetadata,
File segmentData,
File offsetIndexData,
File timestampIndexData,
Optional<ByteBuffer> producerStateSnapshotData,
Optional<ByteBuffer> transactionIndexData,
Optional<ByteBuffer> epochState) |
void |
putObject(TierObjectStore.ObjectStoreMetadata objectMetadata,
File file,
TierObjectStore.FileType fileType) |
void |
putSegment(TierObjectStore.ObjectMetadata objectMetadata,
File segmentData,
File offsetIndexData,
File timestampIndexData,
Optional<File> producerStateSnapshotData,
Optional<ByteBuffer> transactionIndexData,
Optional<ByteBuffer> epochState) |
void |
restoreObjectByCopy(TierObjectStore.ObjectMetadata objectMetadata,
String key,
VersionInformation lastLiveVersion)
There are usually 2 ways to restore a deleted object:
- to remove the deleteMarker of the object to expose its last live version again as current version.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getObject, getObject
public AzureBlockBlobTierObjectStore(AzureBlockBlobTierObjectStoreConfig config)
public TierObjectStore.Backend getBackend()
getBackend
in interface TierObjectStore
public Map<String,List<VersionInformation>> listObject(String keyPrefix, boolean getVersionInfo)
listObject
in interface TierObjectStore
public TierObjectStoreResponse getObject(TierObjectStore.ObjectStoreMetadata objectMetadata, TierObjectStore.FileType fileType, Integer byteOffsetStart, Integer byteOffsetEnd)
getObject
in interface TierObjectStore
public TierObjectStore.OpaqueData prepPutSegment() throws TierObjectStoreRetriableException, IOException
prepPutSegment
in interface TierObjectStore
TierObjectStoreRetriableException
IOException
public void putSegment(TierObjectStore.ObjectMetadata objectMetadata, File segmentData, File offsetIndexData, File timestampIndexData, Optional<File> producerStateSnapshotData, Optional<ByteBuffer> transactionIndexData, Optional<ByteBuffer> epochState)
putSegment
in interface TierObjectStore
public void putInMemorySegment(TierObjectStore.ObjectMetadata objectMetadata, File segmentData, File offsetIndexData, File timestampIndexData, Optional<ByteBuffer> producerStateSnapshotData, Optional<ByteBuffer> transactionIndexData, Optional<ByteBuffer> epochState)
putInMemorySegment
in interface TierObjectStore
public void putObject(TierObjectStore.ObjectStoreMetadata objectMetadata, File file, TierObjectStore.FileType fileType)
putObject
in interface TierObjectStore
public void restoreObjectByCopy(TierObjectStore.ObjectMetadata objectMetadata, String key, VersionInformation lastLiveVersion)
TierObjectStore
restoreObjectByCopy
in interface TierObjectStore
public void deleteSegment(TierObjectStore.ObjectMetadata objectMetadata)
deleteSegment
in interface TierObjectStore
public void deleteVersions(List<TierObjectStore.KeyAndVersion> keys)
deleteVersions
in interface TierObjectStore
public boolean objectExists(TierObjectStore.ObjectMetadata objectMetadata, TierObjectStore.FileType type) throws IOException, TierObjectStoreRetriableException
objectExists
in interface TierObjectStore
IOException
TierObjectStoreRetriableException
public void close()
close
in interface TierObjectStore
public void putBuf(String key, Map<String,String> metadata, ByteBuffer buf)
putBuf
in interface TierObjectStore