HBase
  1. HBase
  2. HBASE-9861

Location does not have to be refreshed on regionTooBusy

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 0.98.0, 0.96.0
    • Fix Version/s: 0.96.1
    • Component/s: Client
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      Minor improvement. There is already some code to manage the exception, so I've change it to share between the classes.

      1. 9861.v1.patch
        12 kB
        Nicolas Liochon

        Activity

        Hide
        stack added a comment -

        Released in 0.96.1. Issue closed.

        Show
        stack added a comment - Released in 0.96.1. Issue closed.
        Hide
        Hudson added a comment -

        FAILURE: Integrated in HBase-TRUNK #4659 (See https://builds.apache.org/job/HBase-TRUNK/4659/)
        HBASE-9861 Location does not have to be refreshed on regionTooBusy (nkeywal: rev 1537425)

        • /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
        • /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionMovedException.java
        • /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionOpeningException.java
        • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
        Show
        Hudson added a comment - FAILURE: Integrated in HBase-TRUNK #4659 (See https://builds.apache.org/job/HBase-TRUNK/4659/ ) HBASE-9861 Location does not have to be refreshed on regionTooBusy (nkeywal: rev 1537425) /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionMovedException.java /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionOpeningException.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
        Hide
        Hudson added a comment -

        FAILURE: Integrated in hbase-0.96-hadoop2 #108 (See https://builds.apache.org/job/hbase-0.96-hadoop2/108/)
        HBASE-9861 Location does not have to be refreshed on regionTooBusy (nkeywal: rev 1537426)

        • /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
        • /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionMovedException.java
        • /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionOpeningException.java
        • /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
        Show
        Hudson added a comment - FAILURE: Integrated in hbase-0.96-hadoop2 #108 (See https://builds.apache.org/job/hbase-0.96-hadoop2/108/ ) HBASE-9861 Location does not have to be refreshed on regionTooBusy (nkeywal: rev 1537426) /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionMovedException.java /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionOpeningException.java /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
        Hide
        Hudson added a comment -

        SUCCESS: Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #819 (See https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/819/)
        HBASE-9861 Location does not have to be refreshed on regionTooBusy (nkeywal: rev 1537425)

        • /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
        • /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionMovedException.java
        • /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionOpeningException.java
        • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
        Show
        Hudson added a comment - SUCCESS: Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #819 (See https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/819/ ) HBASE-9861 Location does not have to be refreshed on regionTooBusy (nkeywal: rev 1537425) /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionMovedException.java /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionOpeningException.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
        Hide
        Hudson added a comment -

        SUCCESS: Integrated in hbase-0.96 #173 (See https://builds.apache.org/job/hbase-0.96/173/)
        HBASE-9861 Location does not have to be refreshed on regionTooBusy (nkeywal: rev 1537426)

        • /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
        • /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionMovedException.java
        • /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionOpeningException.java
        • /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
        Show
        Hudson added a comment - SUCCESS: Integrated in hbase-0.96 #173 (See https://builds.apache.org/job/hbase-0.96/173/ ) HBASE-9861 Location does not have to be refreshed on regionTooBusy (nkeywal: rev 1537426) /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionMovedException.java /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionOpeningException.java /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
        Hide
        Nicolas Liochon added a comment -

        Committed, I fixed the comments on commit, and kept the assert.

        Show
        Nicolas Liochon added a comment - Committed, I fixed the comments on commit, and kept the assert.
        Hide
        Nicolas Liochon added a comment -

        Could we get stuck here if new location is bad? Or will the new location be the old location next time through?

        We won't get stuck, as if it's wrong we will try it and change it. So the worse case is consuming a try (which is not great, but going to meta again may not help anyway).

        + * Look for an excpetion we know in the remove exception:

        Ok, will do on commit (I will check the findbug as well)

        Thanks, Stack.

        Show
        Nicolas Liochon added a comment - Could we get stuck here if new location is bad? Or will the new location be the old location next time through? We won't get stuck, as if it's wrong we will try it and change it. So the worse case is consuming a try (which is not great, but going to meta again may not help anyway). + * Look for an excpetion we know in the remove exception: Ok, will do on commit (I will check the findbug as well) Thanks, Stack.
        Hide
        stack added a comment -

        Makes sense.

        Could we get stuck here if new location is bad? Or will the new location be the old location next time through?

        + if (oldLocation == null || !source.getServerName().equals(oldLocation.getServerName())) {
        + // There is no such location in the cache (it's been removed already) or
        + // the cache has already been refreshed with a different location. => nothing to do

        This is great

        + if (cause instanceof RegionTooBusyException || cause instanceof RegionOpeningException)

        { + // We know that the region is still on this region server + return; + }

        Fix this comment:

        + * Look for an excpetion we know in the remove exception:

        findException looks to duplicate a bunch of exception parsing that we do in multiple places. We should do a walk through one of these days to clean it all up.

        .... oh, I take it back. You are doing cleanup. How'd we have that dupe of exception parsing in RegionMoved and RegionOpening?

        +1 caveat the little concern up top.

        Nice Nicolas Liochon

        Show
        stack added a comment - Makes sense. Could we get stuck here if new location is bad? Or will the new location be the old location next time through? + if (oldLocation == null || !source.getServerName().equals(oldLocation.getServerName())) { + // There is no such location in the cache (it's been removed already) or + // the cache has already been refreshed with a different location. => nothing to do This is great + if (cause instanceof RegionTooBusyException || cause instanceof RegionOpeningException) { + // We know that the region is still on this region server + return; + } Fix this comment: + * Look for an excpetion we know in the remove exception: findException looks to duplicate a bunch of exception parsing that we do in multiple places. We should do a walk through one of these days to clean it all up. .... oh, I take it back. You are doing cleanup. How'd we have that dupe of exception parsing in RegionMoved and RegionOpening? +1 caveat the little concern up top. Nice Nicolas Liochon
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12611056/9861.v1.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 hadoop1.0. The patch compiles against the hadoop 1.0 profile.

        +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        -1 findbugs. The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 lineLengths. The patch does not introduce lines longer than 100

        -1 site. The patch appears to cause mvn site goal to fail.

        +1 core tests. The patch passed unit tests in .

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12611056/9861.v1.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified tests. +1 hadoop1.0 . The patch compiles against the hadoop 1.0 profile. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. +1 javadoc . The javadoc tool did not generate any warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 findbugs . The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 -1 site . The patch appears to cause mvn site goal to fail. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7675//console This message is automatically generated.

          People

          • Assignee:
            Nicolas Liochon
            Reporter:
            Nicolas Liochon
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development