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

Chia-Ping Tsai commented on HBASE-20001:
----------------------------------------

{quote} We rollback during split and merge failures in zk assignment. So, we 
online the parents and cleanup the failed splits/merges. This is demonstrated 
by the unit tests - testMergeIsRolledBackOnMERGEFailure and  
testSplitIsRolledBackOnSPLITFailure. I also explained this in one of the 
comments above, lemme know what you think.
{quote}
Got it. Thanks for the explanation. Both of tests look good to me. +1 if the 
check of passed server is necessary.

> cleanIfNoMetaEntry() uses encoded instead of region name to lookup region
> -------------------------------------------------------------------------
>
>                 Key: HBASE-20001
>                 URL: https://issues.apache.org/jira/browse/HBASE-20001
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.2.0, 1.3.0, 1.4.0, 1.1.7
>            Reporter: Francis Liu
>            Assignee: Thiruvel Thirumoolan
>            Priority: Major
>             Fix For: 1.3.2, 1.5.0, 1.2.7, 1.4.3
>
>         Attachments: HBASE-20001.branch-1.4.001.patch, 
> HBASE-20001.branch-1.4.002.patch, HBASE-20001.branch-1.4.003.patch, 
> HBASE-20001.branch-1.4.004.patch, HBASE-20001.branch-1.4.005.patch
>
>
> In RegionStates.cleanIfNoMetaEntry()
> {{if (MetaTableAccessor.getRegion(server.getConnection(), 
> hri.getEncodedNameAsBytes()) == null) {}}
> {{regionOffline(hri);}}
> {{FSUtils.deleteRegionDir(server.getConfiguration(), hri);}}
>  }
> But api expects regionname
> {{public static Pair<HRegionInfo, ServerName> getRegion(Connection 
> connection, byte [] regionName)}}
> So we might end up cleaning good regions.
>  
> ADDENDUM:
> The scenario mentioned occurs when zkless assignment is used.  With zk-based 
> assignment without the patch what could occur is the daughter regions are 
> offlined and have no hdfs directory but have entries in meta. The daughter 
> meta entries will prolly be picked up by the client causing NSREs.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to