public class S3TierObjectStore 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 |
---|
S3TierObjectStore(S3TierObjectStoreConfig config) |
Modifier and Type | Method and Description |
---|---|
static com.amazonaws.services.s3.AmazonS3 |
client(S3TierObjectStoreConfig config) |
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 fileType) |
TierObjectStore.OpaqueData |
prepPutSegment() |
void |
putBuf(String key,
Map<String,String> userMetadata,
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.
|
static String |
validateAndGetS3RegionName(String s3Region) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getObject, getObject
public S3TierObjectStore(S3TierObjectStoreConfig 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 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 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 deleteSegment(TierObjectStore.ObjectMetadata objectMetadata)
deleteSegment
in interface TierObjectStore
public boolean objectExists(TierObjectStore.ObjectMetadata objectMetadata, TierObjectStore.FileType fileType) throws TierObjectStoreRetriableException
objectExists
in interface TierObjectStore
TierObjectStoreRetriableException
public void deleteVersions(List<TierObjectStore.KeyAndVersion> keys)
deleteVersions
in interface TierObjectStore
public void close()
close
in interface TierObjectStore
public void putBuf(String key, Map<String,String> userMetadata, ByteBuffer buf)
putBuf
in interface TierObjectStore
public static com.amazonaws.services.s3.AmazonS3 client(S3TierObjectStoreConfig config) throws TierObjectStoreFatalException
TierObjectStoreFatalException