Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.94.1, 0.95.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed
    • Release Note:
      The retries in the client now have a jitter of up to 1% of the normal computed sleep time.

      Activity

      Hide
      Nicolas Spiegelberg added a comment -

      jitter + exponential backoff?

      Show
      Nicolas Spiegelberg added a comment - jitter + exponential backoff?
      Hide
      Elliott Clark added a comment -

      Nicolas Spiegelberg
      The client already has a semi exponential back off so I just added a jitter that was up to 1% of the previously calculated value.

      Also added a test.

      Show
      Elliott Clark added a comment - Nicolas Spiegelberg The client already has a semi exponential back off so I just added a jitter that was up to 1% of the previously calculated value. Also added a test.
      Hide
      Andrew Purtell added a comment -

      +1 on patch

      Show
      Andrew Purtell added a comment - +1 on patch
      Hide
      Hadoop QA added a comment -

      -1 overall. Here are the results of testing the latest attachment
      http://issues.apache.org/jira/secure/attachment/12532252/HBASE-6207-0.patch
      against trunk revision .

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

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

      +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 7 new Findbugs (version 1.3.9) warnings.

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

      -1 core tests. The patch failed these unit tests:
      org.apache.hadoop.hbase.coprocessor.TestMasterObserver

      Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2171//testReport/
      Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2171//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
      Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2171//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
      Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2171//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/12532252/HBASE-6207-0.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 2 new or modified tests. +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 7 new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed these unit tests: org.apache.hadoop.hbase.coprocessor.TestMasterObserver Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2171//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2171//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2171//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2171//console This message is automatically generated.
      Hide
      Elliott Clark added a comment -

      I ran the test that failed locally three times and I always got a pass. Seems like it's un-related.

      Show
      Elliott Clark added a comment - I ran the test that failed locally three times and I always got a pass. Seems like it's un-related.
      Hide
      Ted Yu added a comment -
      +  private static final Random RANDOM = new Random();
      

      Can you initialize the above with a seed (such as current time) ?

      Show
      Ted Yu added a comment - + private static final Random RANDOM = new Random(); Can you initialize the above with a seed (such as current time) ?
      Show
      Elliott Clark added a comment - That does initialize with the current time: http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Random.html#Random( ) http://docs.oracle.com/javase/6/docs/api/java/util/Random.html#Random( )
      Hide
      Jean-Daniel Cryans added a comment -

      To close the debate on initializing Random, here's the 1.6 code:

      public Random() { this(++seedUniquifier + System.nanoTime()); }
      private static volatile long seedUniquifier = 8682522807148012L;
      

      Thus I'm +1 and I committed it to trunk. Thanks Elliott!

      Show
      Jean-Daniel Cryans added a comment - To close the debate on initializing Random, here's the 1.6 code: public Random() { this (++seedUniquifier + System .nanoTime()); } private static volatile long seedUniquifier = 8682522807148012L; Thus I'm +1 and I committed it to trunk. Thanks Elliott!
      Hide
      Andrew Purtell added a comment -

      Trivial backport to 0.94 complete and ready to go. Commit?

      Show
      Andrew Purtell added a comment - Trivial backport to 0.94 complete and ready to go. Commit?
      Hide
      Jean-Daniel Cryans added a comment -

      I'm 0, it doesn't seem necessary.

      Show
      Jean-Daniel Cryans added a comment - I'm 0, it doesn't seem necessary.
      Hide
      Andrew Purtell added a comment -

      Ok, I'll leave it be.

      Show
      Andrew Purtell added a comment - Ok, I'll leave it be.
      Hide
      Elliott Clark added a comment -

      Yes please.

      Show
      Elliott Clark added a comment - Yes please.
      Hide
      Elliott Clark added a comment -

      As in lets backport. It helps mitigate the replication issues that are logged in HBASE-6165

      Show
      Elliott Clark added a comment - As in lets backport. It helps mitigate the replication issues that are logged in HBASE-6165
      Hide
      Andrew Purtell added a comment -

      Committed to 0.94 branch also at Elliott's recommendation. New test TestConnectionUtils passes locally. Running full test suite now to confirm remainder and will back out if there's a problem.

      Show
      Andrew Purtell added a comment - Committed to 0.94 branch also at Elliott's recommendation. New test TestConnectionUtils passes locally. Running full test suite now to confirm remainder and will back out if there's a problem.
      Hide
      Hudson added a comment -

      Integrated in HBase-TRUNK #3055 (See https://builds.apache.org/job/HBase-TRUNK/3055/)
      HBASE-6207 Add jitter to client retry timer (Elliott Clark via JD) (Revision 1352699)

      Result = FAILURE
      jdcryans :
      Files :

      • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java
      • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java
      Show
      Hudson added a comment - Integrated in HBase-TRUNK #3055 (See https://builds.apache.org/job/HBase-TRUNK/3055/ ) HBASE-6207 Add jitter to client retry timer (Elliott Clark via JD) (Revision 1352699) Result = FAILURE jdcryans : Files : /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java
      Hide
      Hudson added a comment -

      Integrated in HBase-0.94 #270 (See https://builds.apache.org/job/HBase-0.94/270/)
      HBASE-6207. Add jitter to client retry timer (Elliott Clark) (Revision 1352711)

      Result = SUCCESS
      apurtell :
      Files :

      • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java
      • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java
      Show
      Hudson added a comment - Integrated in HBase-0.94 #270 (See https://builds.apache.org/job/HBase-0.94/270/ ) HBASE-6207 . Add jitter to client retry timer (Elliott Clark) (Revision 1352711) Result = SUCCESS apurtell : Files : /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java
      Hide
      Hudson added a comment -

      Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #63 (See https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/63/)
      HBASE-6207 Add jitter to client retry timer (Elliott Clark via JD) (Revision 1352699)

      Result = FAILURE
      jdcryans :
      Files :

      • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java
      • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java
      Show
      Hudson added a comment - Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #63 (See https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/63/ ) HBASE-6207 Add jitter to client retry timer (Elliott Clark via JD) (Revision 1352699) Result = FAILURE jdcryans : Files : /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java
      Hide
      stack added a comment -

      Elliott Want to say more on why the jitter is needed?

      Show
      stack added a comment - Elliott Want to say more on why the jitter is needed?
      Hide
      stack added a comment -

      ... perhaps add to release note?

      Show
      stack added a comment - ... perhaps add to release note?
      Hide
      Elliott Clark added a comment -

      Sure, will do.

      Show
      Elliott Clark added a comment - Sure, will do.
      Hide
      Hudson added a comment -

      Integrated in HBase-0.94-security #37 (See https://builds.apache.org/job/HBase-0.94-security/37/)
      HBASE-6207. Add jitter to client retry timer (Elliott Clark) (Revision 1352711)

      Result = SUCCESS
      apurtell :
      Files :

      • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java
      • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java
      Show
      Hudson added a comment - Integrated in HBase-0.94-security #37 (See https://builds.apache.org/job/HBase-0.94-security/37/ ) HBASE-6207 . Add jitter to client retry timer (Elliott Clark) (Revision 1352711) Result = SUCCESS apurtell : Files : /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java

        People

        • Assignee:
          Elliott Clark
          Reporter:
          Elliott Clark
        • Votes:
          0 Vote for this issue
          Watchers:
          8 Start watching this issue

          Dates

          • Created:
            Updated:
            Resolved:

            Development