[ https://issues.apache.org/jira/browse/HBASE-7390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13536454#comment-13536454 ]
nkeywal commented on HBASE-7390: -------------------------------- @[~saint....@gmail.com] For SPLITTING and OPENING, I misread your point in you first comment. Yes, we may miss the state change because of ZooKeeper API: when we receive a watch, we need to do a getData. In the meantime, the value may have changed. The scenario is, for example - Master creates a znode with M_ZK_REGION_OFFLINE and watch it - Regionserver updates the znode to RS_ZK_REGION_OPENING - Master receives the event - Regionserver updates the znode to RS_ZK_REGION_OPENED - Master does a getData, and reads RS_ZK_REGION_OPENED In this scenario, the master missed the RS_ZK_REGION_OPENING. So in the master code you must be ready to miss some transitions. The trunk code is actually compatible with this, but the reason is not documented. However, I don't know why we tickle RS_REGION_SPLIT as we do in the code. > Add extra test cases for assignement on the region server and fix the related > issues > ------------------------------------------------------------------------------------ > > Key: HBASE-7390 > URL: https://issues.apache.org/jira/browse/HBASE-7390 > Project: HBase > Issue Type: Bug > Components: Region Assignment, regionserver > Affects Versions: 0.96.0 > Reporter: nkeywal > Assignee: nkeywal > Fix For: 0.96.0 > > Attachments: 7390.v1.patch, 7390.v2.patch, 7390.v3.patch, > assignment_zk_states.jpg > > > We don't have a lot of tests on the region server itself. > Here are some. > Some of them are failing, feedback welcome. > See as well the attached state diagram for the ZK nodes on assignment. -- 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