[ https://issues.apache.org/jira/browse/HBASE-9696?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13792353#comment-13792353 ]
Jeffrey Zhong commented on HBASE-9696: -------------------------------------- [~jxiang] What's the reason introducing the four new states? For merging, it's a master initiated operation we should have corresponding memory state so future region move requests can be cancelled. For splitting, before a region split starts, it creates a splitting RIT znode while a region move will try to create a closing RIT znode so only one operation can succeed. In master recovery scenario, merging state can be restored by a few lines of code in the patch. The reason I'm asking is that not only the 4 new stats increase the risk of the patch(because you want to put it in 0.96) but also a more complicated region transition state machine for future maintenance. Any chance can you cut the new states? Thanks. > Master recovery ignores online merge znode > ------------------------------------------ > > Key: HBASE-9696 > URL: https://issues.apache.org/jira/browse/HBASE-9696 > Project: HBase > Issue Type: Bug > Components: master, Region Assignment > Reporter: Jimmy Xiang > Assignee: Jimmy Xiang > Fix For: 0.98.0, 0.96.1 > > Attachments: trunk-9696.patch, trunk-9696_v2.1.patch, > trunk-9696_v2.patch, trunk-9696_v3.patch > > > The online merge znode uses the new region to be created. When master > restarts, the new region is still unknown if the merging is not completed. > Therefore the znode is ignored, which should not. That means the two merging > regions could be moved around. This could cause some data loss if we are not > luck. -- This message was sent by Atlassian JIRA (v6.1#6144)