@NotThreadSafe public class DynamoDBBasedLockProvider extends Object implements LockProvider<com.amazonaws.services.dynamodbv2.LockItem>
LockProvider implementation allows to lock table operations
using DynamoDB. Users need to have access to AWS DynamoDB to be able to use this lock.| Modifier and Type | Field and Description |
|---|---|
protected DynamoDbBasedLockConfig |
dynamoDBLockConfiguration |
| Constructor and Description |
|---|
DynamoDBBasedLockProvider(LockConfiguration lockConfiguration,
org.apache.hadoop.conf.Configuration conf) |
DynamoDBBasedLockProvider(LockConfiguration lockConfiguration,
org.apache.hadoop.conf.Configuration conf,
software.amazon.awssdk.services.dynamodb.DynamoDbClient dynamoDB) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
protected String |
generateLogStatement(LockState state,
String suffix) |
com.amazonaws.services.dynamodbv2.LockItem |
getLock() |
boolean |
tryLock(long time,
TimeUnit unit) |
void |
unlock() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetCurrentOwnerLockInfo, lock, lockInterruptibly, newCondition, tryLockprotected final DynamoDbBasedLockConfig dynamoDBLockConfiguration
public DynamoDBBasedLockProvider(LockConfiguration lockConfiguration, org.apache.hadoop.conf.Configuration conf)
public DynamoDBBasedLockProvider(LockConfiguration lockConfiguration, org.apache.hadoop.conf.Configuration conf, software.amazon.awssdk.services.dynamodb.DynamoDbClient dynamoDB)
public void close()
close in interface AutoCloseableclose in interface LockProvider<com.amazonaws.services.dynamodbv2.LockItem>public com.amazonaws.services.dynamodbv2.LockItem getLock()
getLock in interface LockProvider<com.amazonaws.services.dynamodbv2.LockItem>Copyright © 2023 The Apache Software Foundation. All rights reserved.