public class InProcessLockProvider extends Object implements LockProvider<ReentrantReadWriteLock>, Serializable
LockProvider implementation is to
guard table from concurrent operations happening in the local JVM process.
Note: This Lock provider implementation doesn't allow lock reentrancy. Attempting to reacquire the lock from the same thread will throw HoodieLockException. Threads other than the current lock owner, will block on lock() and return false on tryLock().
| Constructor and Description |
|---|
InProcessLockProvider(LockConfiguration lockConfiguration,
org.apache.hadoop.conf.Configuration conf) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
ReentrantReadWriteLock |
getLock() |
void |
lock() |
boolean |
tryLock() |
boolean |
tryLock(long time,
@NotNull TimeUnit unit) |
void |
unlock() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitlockInterruptibly, newConditionpublic InProcessLockProvider(LockConfiguration lockConfiguration, org.apache.hadoop.conf.Configuration conf)
public void lock()
lock in interface Locklock in interface LockProvider<ReentrantReadWriteLock>public boolean tryLock()
tryLock in interface LocktryLock in interface LockProvider<ReentrantReadWriteLock>public boolean tryLock(long time,
@NotNull
@NotNull TimeUnit unit)
public ReentrantReadWriteLock getLock()
getLock in interface LockProvider<ReentrantReadWriteLock>public void close()
close in interface AutoCloseableclose in interface LockProvider<ReentrantReadWriteLock>Copyright © 2022 The Apache Software Foundation. All rights reserved.