You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Hadoop QA (JIRA)" <ji...@apache.org> on 2016/01/20 07:21:40 UTC

[jira] [Commented] (HBASE-15121) ConnectionImplementation#locateRegionInMeta() issue when master is restarted

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

Hadoop QA commented on HBASE-15121:
-----------------------------------

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s {color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s {color} | {color:red} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 2m 18s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 26s {color} | {color:green} master passed with JDK v1.8.0 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 17s {color} | {color:green} master passed with JDK v1.7.0_79 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 9s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 10s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 55s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 25s {color} | {color:green} master passed with JDK v1.8.0 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 18s {color} | {color:green} master passed with JDK v1.7.0_79 {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 19s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 26s {color} | {color:green} the patch passed with JDK v1.8.0 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 26s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 17s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 17s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 7s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 10s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s {color} | {color:green} Patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 20m 7s {color} | {color:green} Patch does not cause any errors with Hadoop 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 4s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 25s {color} | {color:green} the patch passed with JDK v1.8.0 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 18s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 51s {color} | {color:green} hbase-client in the patch passed with JDK v1.8.0. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 51s {color} | {color:green} hbase-client in the patch passed with JDK v1.7.0_79. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 6s {color} | {color:green} Patch does not generate ASF License warnings. {color} |
| {color:black}{color} | {color:black} {color} | {color:black} 32m 18s {color} | {color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12783284/HBASE-15121-v0.patch |
| JIRA Issue | HBASE-15121 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  hbaseanti  checkstyle  compile  |
| uname | Linux asf901.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh |
| git revision | master / 55bb5ff |
| findbugs | v3.0.0 |
| JDK v1.7.0_79  Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/199/testReport/ |
| modules | C: hbase-client U: hbase-client |
| Max memory used | 192MB |
| Powered by | Apache Yetus 0.1.0   http://yetus.apache.org |
| Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/199/console |


This message was automatically generated.



> ConnectionImplementation#locateRegionInMeta() issue when master is restarted
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-15121
>                 URL: https://issues.apache.org/jira/browse/HBASE-15121
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 2.0.0
>            Reporter: Samir Ahmic
>            Assignee: Samir Ahmic
>             Fix For: 2.0.0
>
>         Attachments: HBASE-15121-v0.patch, HBASE-15121-v0.patch
>
>
> I notice this issue while i was running IntegrationTestMTTR#testRestartMaster() test was failing on put operation. Here is sequence of events from logs leading to failed put operation:
> Master restart
> {code}
> INFO  [pool-5-thread-1] util.Shell: Executing full command [/usr/bin/ssh  hnode2 "sudo -u hbase ps aux | grep proc_master | grep -v grep | tr -s ' ' | cut -d ' ' -f2 | xargs kill -s SIGKILL"]
> {code} 
> Client trying to locate region for row=70efdf2ec9b086079795c442636b55fb-17  (this is additional logging inspecting metaKey which is used to search hbase:meta )
> {code}
> 2016-01-15 10:26:05,169 INFO  [HBaseWriterThread_9] client.ConnectionImplementation: metaKey inspection: table=IntegrationTestMTTRLoadTestTool row= 70efdf2ec9b086079795c442636b55fb-17 metaKey= IntegrationTestMTTRLoadTestTool,70efdf2ec9b086079795c442636b55fb-17,99999999999999
> {code}
> Client throwing TableNotFoundException (hbase:meta scan returned null)
> {code}
> 2016-01-15 10:32:58,154 INFO  [HBaseWriterThread_5] client.ConnectionImplementation: regionInfo result is null: HBaseWriterThread_5 throwing TableNotFoundException logging details table=IntegrationTestMTTRLoadTestTool row=70efdf2ec9b086079795c442636b55fb-17 metaKey=IntegrationTestMTTRLoadTestTool,70efdf2ec9b086079795c442636b55fb-17,99999999999999
> 2016-01-15 10:32:58,154 ERROR [HBaseWriterThread_5] client.AsyncProcess: Failed to get region location
> org.apache.hadoop.hbase.TableNotFoundException: IntegrationTestMTTRLoadTestTool
>         at org.apache.hadoop.hbase.client.ConnectionImplementation.locateRegionInMeta(ConnectionImplementation.java:890)
>         at org.apache.hadoop.hbase.client.ConnectionImplementation.locateRegion(ConnectionImplementation.java:781)
>         at org.apache.hadoop.hbase.client.AsyncProcess.submit(AsyncProcess.java:396)
>         at org.apache.hadoop.hbase.client.AsyncProcess.submit(AsyncProcess.java:344)
>         at org.apache.hadoop.hbase.client.BufferedMutatorImpl.backgroundFlushCommits(BufferedMutatorImpl.java:239)
>         at org.apache.hadoop.hbase.client.BufferedMutatorImpl.flush(BufferedMutatorImpl.java:191)
>         at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:949)
>         at org.apache.hadoop.hbase.client.HTable.put(HTable.java:569)
>         at org.apache.hadoop.hbase.util.MultiThreadedWriter$HBaseWriterThread.insert(MultiThreadedWriter.java:146)
>         at org.apache.hadoop.hbase.util.MultiThreadedWriter$HBaseWriterThread.run(MultiThreadedWriter.java:111)
> {code}
> And as result we have failed insert  operation:
> {code}
> 2016-01-15 10:32:58,179 ERROR [HBaseWriterThread_5] util.MultiThreadedWriter: Failed to insert: 17 after 60046ms; region information: cached: region=IntegrationTestMTTRLoadTestTool,66666660,1452849956427.05b437185a9437f178726a55a29a79b7., hostname=hnode4,16020,1452776418437, seqNum=5; cache is up to date; errors: exception from null for 70efdf2ec9b086079795c442636b55fb-17
> org.apache.hadoop.hbase.TableNotFoundException: IntegrationTestMTTRLoadTestTool
>         at org.apache.hadoop.hbase.client.ConnectionImplementation.locateRegionInMeta(ConnectionImplementation.java:890)
>         at org.apache.hadoop.hbase.client.ConnectionImplementation.locateRegion(ConnectionImplementation.java:781)
>         at org.apache.hadoop.hbase.client.AsyncProcess.submit(AsyncProcess.java:396)
>         at org.apache.hadoop.hbase.client.AsyncProcess.submit(AsyncProcess.java:344)
>         at org.apache.hadoop.hbase.client.BufferedMutatorImpl.backgroundFlushCommits(BufferedMutatorImpl.java:239)
>         at org.apache.hadoop.hbase.client.BufferedMutatorImpl.flush(BufferedMutatorImpl.java:191)
>         at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:949)
>         at org.apache.hadoop.hbase.client.HTable.put(HTable.java:569)
>         at org.apache.hadoop.hbase.util.MultiThreadedWriter$HBaseWriterThread.insert(MultiThreadedWriter.java:146)
>         at org.apache.hadoop.hbase.util.MultiThreadedWriter$HBaseWriterThread.run(MultiThreadedWriter.java:111)
> {code}
> leading to test failing:
> {code}
> Failed to write key: 17
> 2016-01-15 10:33:53,984 INFO  [main] mttr.IntegrationTestMTTR: RestartMaster failed after 469878ms.
> java.util.concurrent.ExecutionException: java.lang.AssertionError: Load failed expected:<0> but was:<1>
> {code}
> Here is snippet from ConnectionImplementation#locateRegionInMeta() throwing exception:
> {code}
>       try {
>         Result regionInfoRow = null;
>         ReversedClientScanner rcs = null;
>         try {
>           rcs = new ClientSmallReversedScanner(conf, s, TableName.META_TABLE_NAME, this,
>             rpcCallerFactory, rpcControllerFactory, getMetaLookupPool(), 0);
>           regionInfoRow = rcs.next();
>         } finally {
>           if (rcs != null) {
>             rcs.close();
>           }
>         }
>         if (regionInfoRow == null) {
>           throw new TableNotFoundException(tableName);
> {code}
> I was able to avoid this issue by removing thrown  declaration and adding continue allowing client to retry to locate region. This sounds like simplest solution here. 
> Thoughts ?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)