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

Thiruvel Thirumoolan commented on HBASE-20001:
----------------------------------------------

[~yuzhih...@gmail.com], sure, will wait for any other feedback and address 
them. I will change the method to cleanFailedSplitMergeRegions() if thats ok.

 
 [~chia7712],
{quote}Is there a chance that null server is passed to RegionStates?
{quote}
I remember a failure without the check, lemme run tests locally and check.
{quote}Why we always remove the daughter region directories when using the 
ZooKeeper based region assignments? It seems to me that it is another kind of 
data lose?
{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.

Thanks!

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



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

Reply via email to