[
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:
--------------------------------
@[[email protected]]
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