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