Class S3NativeTransactionLogSynchronizer
java.lang.Object
io.trino.plugin.deltalake.transactionlog.writer.S3NativeTransactionLogSynchronizer
- All Implemented Interfaces:
TransactionLogSynchronizer
public class S3NativeTransactionLogSynchronizer
extends Object
implements TransactionLogSynchronizer
The S3 Native synhcornizer is a
TransactionLogSynchronizer for S3 that requires no other dependencies.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionS3NativeTransactionLogSynchronizer(TrinoFileSystemFactory fileSystemFactory, io.airlift.json.JsonCodec<S3NativeTransactionLogSynchronizer.LockFileContents> lockFileContentesCodec) -
Method Summary
Modifier and TypeMethodDescriptionbooleanisUnsafe()Whether or not writes using this Synchronizer need to be enabled with the "delta.enable-non-concurrent-writes" config property.static StringparseEntryFilename(String lockFilename) voidwrite(ConnectorSession session, String clusterId, String newLogEntryPath, byte[] entryContents) Performs atomic write of transaction log entry file.
-
Field Details
-
LOG
public static final io.airlift.log.Logger LOG
-
-
Constructor Details
-
S3NativeTransactionLogSynchronizer
@Inject public S3NativeTransactionLogSynchronizer(TrinoFileSystemFactory fileSystemFactory, io.airlift.json.JsonCodec<S3NativeTransactionLogSynchronizer.LockFileContents> lockFileContentesCodec)
-
-
Method Details
-
isUnsafe
public boolean isUnsafe()Description copied from interface:TransactionLogSynchronizerWhether or not writes using this Synchronizer need to be enabled with the "delta.enable-non-concurrent-writes" config property.- Specified by:
isUnsafein interfaceTransactionLogSynchronizer- Returns:
- False if collision detection for writes from multiple clusters is supported, else true.
-
write
public void write(ConnectorSession session, String clusterId, String newLogEntryPath, byte[] entryContents) Description copied from interface:TransactionLogSynchronizerPerforms atomic write of transaction log entry file.- Specified by:
writein interfaceTransactionLogSynchronizer
-
parseEntryFilename
-