Package org.apache.iceberg.aws.dynamodb
Class DynamoDbLockManager
java.lang.Object
org.apache.iceberg.util.LockManagers.BaseLockManager
org.apache.iceberg.aws.dynamodb.DynamoDbLockManager
- All Implemented Interfaces:
AutoCloseable,org.apache.iceberg.LockManager
public class DynamoDbLockManager
extends org.apache.iceberg.util.LockManagers.BaseLockManager
DynamoDB implementation for the lock manager.
-
Constructor Summary
ConstructorsConstructorDescriptionconstructor for dynamic initialization,initialize(Map)must be called later.DynamoDbLockManager(software.amazon.awssdk.services.dynamodb.DynamoDbClient dynamo, String lockTableName) constructor used for testing purpose -
Method Summary
Modifier and TypeMethodDescriptionbooleanvoidclose()voidinitialize(Map<String, String> properties) static List<software.amazon.awssdk.services.dynamodb.model.AttributeDefinition>The lock table column definition, for users who whould like to create the table separatelystatic List<software.amazon.awssdk.services.dynamodb.model.KeySchemaElement>The lock table schema, for users who would like to create the table separatelybooleanMethods inherited from class org.apache.iceberg.util.LockManagers.BaseLockManager
acquireIntervalMs, acquireTimeoutMs, heartbeatIntervalMs, heartbeatThreads, heartbeatTimeoutMs, scheduler
-
Constructor Details
-
DynamoDbLockManager
public DynamoDbLockManager()constructor for dynamic initialization,initialize(Map)must be called later. -
DynamoDbLockManager
public DynamoDbLockManager(software.amazon.awssdk.services.dynamodb.DynamoDbClient dynamo, String lockTableName) constructor used for testing purpose- Parameters:
dynamo- dynamo clientlockTableName- lock table name
-
-
Method Details
-
initialize
- Specified by:
initializein interfaceorg.apache.iceberg.LockManager- Overrides:
initializein classorg.apache.iceberg.util.LockManagers.BaseLockManager
-
acquire
-
release
-
close
- Specified by:
closein interfaceAutoCloseable- Overrides:
closein classorg.apache.iceberg.util.LockManagers.BaseLockManager- Throws:
Exception
-
lockTableSchema
public static List<software.amazon.awssdk.services.dynamodb.model.KeySchemaElement> lockTableSchema()The lock table schema, for users who would like to create the table separately- Returns:
- lock table schema
-
lockTableColDefinitions
public static List<software.amazon.awssdk.services.dynamodb.model.AttributeDefinition> lockTableColDefinitions()The lock table column definition, for users who whould like to create the table separately- Returns:
- lock table column definition
-