org.apache.hadoop.hbase.zookeeper.lock
Class ZKInterProcessReadLock
java.lang.Object
org.apache.hadoop.hbase.zookeeper.lock.ZKInterProcessLockBase
org.apache.hadoop.hbase.zookeeper.lock.ZKInterProcessReadLock
- All Implemented Interfaces:
- InterProcessLock
@InterfaceAudience.Private
public class ZKInterProcessReadLock
- extends ZKInterProcessLockBase
ZooKeeper based read lock: does not exclude other read locks, but excludes
and is excluded by write locks.
Method Summary |
protected String |
getLockPath(String createdZNode,
List<String> children)
Determine based on a list of children under a ZNode, whether or not a
process which created a specified ZNode has obtained a lock. |
Methods inherited from class org.apache.hadoop.hbase.zookeeper.lock.ZKInterProcessLockBase |
acquire, handleLockMetadata, handleLockMetadata, isChildOfSameType, isChildReadLock, isChildWriteLock, reapAllLocks, reapExpiredLocks, release, tryAcquire, updateAcquiredLock, visitLocks |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ZKInterProcessReadLock
public ZKInterProcessReadLock(ZooKeeperWatcher zooKeeperWatcher,
String znode,
byte[] metadata,
InterProcessLock.MetadataHandler handler)
getLockPath
protected String getLockPath(String createdZNode,
List<String> children)
throws IOException
- Determine based on a list of children under a ZNode, whether or not a
process which created a specified ZNode has obtained a lock. If a lock is
not obtained, return the path that we should watch awaiting its deletion.
Otherwise, return null.
This method is abstract as the logic for determining whether or not a
lock is obtained depends on the type of lock being implemented.
- Specified by:
getLockPath
in class ZKInterProcessLockBase
- Parameters:
createdZNode
- The ZNode created by the process attempting to acquire
a lockchildren
- List of all child ZNodes under the lock's parent ZNode
- Returns:
- The path to watch, or null if myZNode can represent a correctly
acquired lock.
- Throws:
IOException
Copyright © 2007–2016 The Apache Software Foundation. All rights reserved.