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:
java.lang.AutoCloseable,org.apache.iceberg.LockManager
public class DynamoDbLockManager extends org.apache.iceberg.util.LockManagers.BaseLockManagerDynamoDB implementation for the lock manager.
-
-
Constructor Summary
Constructors Constructor Description DynamoDbLockManager()constructor for dynamic initialization,initialize(Map)must be called later.DynamoDbLockManager(software.amazon.awssdk.services.dynamodb.DynamoDbClient dynamo, java.lang.String lockTableName)constructor used for testing purpose
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanacquire(java.lang.String entityId, java.lang.String ownerId)voidclose()voidinitialize(java.util.Map<java.lang.String,java.lang.String> properties)static java.util.List<software.amazon.awssdk.services.dynamodb.model.AttributeDefinition>lockTableColDefinitions()The lock table column definition, for users who whould like to create the table separatelystatic java.util.List<software.amazon.awssdk.services.dynamodb.model.KeySchemaElement>lockTableSchema()The lock table schema, for users who would like to create the table separatelybooleanrelease(java.lang.String entityId, java.lang.String ownerId)
-
-
-
Constructor Detail
-
DynamoDbLockManager
public DynamoDbLockManager()
constructor for dynamic initialization,initialize(Map)must be called later.
-
DynamoDbLockManager
public DynamoDbLockManager(software.amazon.awssdk.services.dynamodb.DynamoDbClient dynamo, java.lang.String lockTableName)constructor used for testing purpose- Parameters:
dynamo- dynamo clientlockTableName- lock table name
-
-
Method Detail
-
initialize
public void initialize(java.util.Map<java.lang.String,java.lang.String> properties)
- Specified by:
initializein interfaceorg.apache.iceberg.LockManager- Overrides:
initializein classorg.apache.iceberg.util.LockManagers.BaseLockManager
-
acquire
public boolean acquire(java.lang.String entityId, java.lang.String ownerId)
-
release
public boolean release(java.lang.String entityId, java.lang.String ownerId)
-
close
public void close() throws java.lang.Exception- Specified by:
closein interfacejava.lang.AutoCloseable- Overrides:
closein classorg.apache.iceberg.util.LockManagers.BaseLockManager- Throws:
java.lang.Exception
-
lockTableSchema
public static java.util.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 java.util.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
-
-