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

ramkrishna.s.vasudevan commented on HBASE-9204:
-----------------------------------------------

{code}
// If region is in offline and split state check the ZKNode
        if (regionInfo.isOffline() && regionInfo.isSplit()) {
          String node = ZKAssign.getNodeName(this.watcher, regionInfo
              .getEncodedName());
          Stat stat = new Stat();
          byte[] data = ZKUtil.getDataNoWatch(this.watcher, node, stat);
          // If znode does not exist, don't consider this region
          if (data == null) {
            LOG.debug("Region " +  regionInfo.getRegionNameAsString()
               + " split is completed. Hence need not add to regions list");
            continue;
          }
        }
{code}
We are doing something here.  But i think the problem is the znode is available 
and hence we still try to assign it? Need to check the code once again.  The 
above code is there in both code base trunk and 0.94.
                
> An Offline SplitParent Region can be assigned breaking split references
> -----------------------------------------------------------------------
>
>                 Key: HBASE-9204
>                 URL: https://issues.apache.org/jira/browse/HBASE-9204
>             Project: HBase
>          Issue Type: Bug
>          Components: Region Assignment
>    Affects Versions: 0.98.0, 0.95.1, 0.94.10
>            Reporter: Matteo Bertozzi
>            Priority: Blocker
>         Attachments: HBASE-9294-0.94-v0.patch
>
>
> An offline split parent region can be assigned by using 'assign' from shell.
> This may trigger a compaction on the split parent region that should be 
> offline, breaking the references of the two daughters.
> The easy way to test this is:
>  * disable compactions
>  * create a table and insert some row
>  * split
>  * shutdown the master (otherwise there's a state checked inside the 
> AssignmentManager)
>  * start the master
>  * assign the region marked as OFFLINE => true, SPLIT => true (the compaction 
> on region startup will probably break the reference of the two  daughters)

--
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