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

Hadoop QA commented on HBASE-18247:
-----------------------------------

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m  
0s{color} | {color:blue} Docker mode activated. {color} |
| {color:red}-1{color} | {color:red} patch {color} | {color:red}  0m  7s{color} 
| {color:red} HBASE-18247 does not apply to branch-1.2. Rebase required? Wrong 
Branch? See https://yetus.apache.org/documentation/0.4.0/precommit-patchnames 
for help. {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Issue | HBASE-18247 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12877720/HBASE-18247-branch-1.2-v001.patch
 |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/8831/console |
| Powered by | Apache Yetus 0.4.0   http://yetus.apache.org |


This message was automatically generated.



> Hbck to fix the case that replica region shows as key in the meta table
> -----------------------------------------------------------------------
>
>                 Key: HBASE-18247
>                 URL: https://issues.apache.org/jira/browse/HBASE-18247
>             Project: HBase
>          Issue Type: Bug
>          Components: hbck, Operability
>    Affects Versions: 2.0.0-alpha-1
>            Reporter: huaxiang sun
>            Assignee: huaxiang sun
>            Priority: Minor
>             Fix For: 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
>         Attachments: HBASE-18247-branch-1.2-v001.patch
>
>
> Recently, we run into one case with read replica, the replica region shows up 
> as key in meta table (it is not supposed to happen, we are still working on 
> why it showed up in the meta table).
> However, hbck always reported the error about the primary region. Please see 
> the error attached.
> {code}
> The entry in meta table
> test,92b0201b,1492546349354_0001.c3e6f235fe7caef75f8b0fb92a012da3. 
> column=info:regioninfo, timestamp=1494958820573, value={ENCODED => 
> c3e6f235fe7caef75f8b0fb92a012da3, NAME => 
> 'test,92b0201b,1492546349354_0001.c3e6f235fe7caef75f8b0fb92a012da3.', 
> STARTKEY => '92b0201b', ENDKEY => '92f1a952', REPLICA_ID => 1}
> ERROR: Region { meta => 
> test,92b0201b,1492546349354.d2c637715f31a072f174e70d407fb458., hdfs => null, 
> deployed => , replicaId => 0 } found in META, but not in HDFS or deployed on 
> any region server.
> {code}
> Traced the code, in the following line, it does not consider the case that 
> replicaId in regionInfo could be non-default. 
> https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java#L985
> If it is changed to get replicaId from regionInfo, then hbck should be able 
> to fix this by "-fixMeta".
> {code}
> diff --git 
> a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java 
> b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
> index 9eb5111..1649e53 100644
> --- 
> a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
> +++ 
> b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
> @@ -982,7 +982,7 @@ public class MetaTableAccessor {
>      List<HRegionLocation> locations = new ArrayList<>(1);
>      NavigableMap<byte[],NavigableMap<byte[],byte[]>> familyMap = 
> r.getNoVersionMap();
>  
> -    locations.add(getRegionLocation(r, regionInfo, 0));
> +    locations.add(getRegionLocation(r, regionInfo, 
> regionInfo.getReplicaId()));
>  
>      NavigableMap<byte[], byte[]> infoMap = familyMap.get(getCatalogFamily());
>      if (infoMap == null) return new RegionLocations(locations);
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to