You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Qianxi Zhang (JIRA)" <ji...@apache.org> on 2014/06/13 13:53:02 UTC

[jira] [Updated] (HBASE-11342) The method isChildReadLock in class ZKInterProcessLockBase is wrong

     [ https://issues.apache.org/jira/browse/HBASE-11342?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Qianxi Zhang updated HBASE-11342:
---------------------------------

    Attachment: HBASE_11342.patch

> 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
>         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)