[
https://issues.apache.org/jira/browse/HBASE-11342?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
stack updated HBASE-11342:
--------------------------
Resolution: Fixed
Fix Version/s: 0.98.4
0.99.0
Hadoop Flags: Reviewed
Status: Resolved (was: Patch Available)
Committed to master and to 0.98. Thank you for the patch [~qianxiZhang]
> The method isChildReadLock in class ZKInterProcessLockBase is wrong
> -------------------------------------------------------------------
>
> Key: HBASE-11342
> URL: https://issues.apache.org/jira/browse/HBASE-11342
> Project: HBase
> Issue Type: Bug
> Components: Zookeeper
> Affects Versions: 0.99.0, 0.98.3
> Reporter: Qianxi Zhang
> Assignee: Qianxi Zhang
> Priority: Minor
> Fix For: 0.99.0, 0.98.4
>
> Attachments: HBASE_11342.patch
>
>
> The method isChildReadLock in class ZKInterProcessLockBase may be wrong,
> which determines whether the lock is readLock or not. So we should compare
> the node name with READ_LOCK_CHILD_NODE_PREFIX rather than
> WRITE_LOCK_CHILD_NODE_PREFIX. Since there is no other method to invoke the
> method "isChildReadLock" now, we have not encountered an error.
> {code}
> protected static boolean isChildReadLock(String child) {
> int idx = child.lastIndexOf(ZKUtil.ZNODE_PATH_SEPARATOR);
> String suffix = child.substring(idx + 1);
> return suffix.startsWith(WRITE_LOCK_CHILD_NODE_PREFIX);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)