[ 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