[ 
https://issues.apache.org/jira/browse/HBASE-6858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13460934#comment-13460934
 ] 

Liyin Tang commented on HBASE-6858:
-----------------------------------

I agree that this is not a very general solution and may introduce race 
condition if multiple threads in one zk client try to update the same znode 
with different version number, then current code will hide the BADVERSION 
exception. We didn't find this use case in HBase at that time, roughly 1.5 
years ago and it is cheaper to compare the identifier than comparing the data 
payload. 
I also believe leaving this kind of assumption in the system may introduce or 
has introduced some uncertainty or bugs and it is definitely worth improving.
                
> Fix the incorrect BADVERSION checking in the recoverable zookeeper
> ------------------------------------------------------------------
>
>                 Key: HBASE-6858
>                 URL: https://issues.apache.org/jira/browse/HBASE-6858
>             Project: HBase
>          Issue Type: Bug
>          Components: Zookeeper
>            Reporter: Liyin Tang
>            Assignee: Liyin Tang
>             Fix For: 0.96.0
>
>         Attachments: HBASE-6858.patch, HBASE-6858_v2.patch
>
>
> Thanks for Stack and Kaka's reporting that there is a bug in the recoverable 
> zookeeper when handling BADVERSION exception for setData(). It shall compare 
> the ID payload of the data in zk with its own identifier.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to