You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by bh...@apache.org on 2021/04/08 06:44:31 UTC

[hbase] branch master updated: HBASE-25743: Retry REQUESTTIMEOUT based KeeperExceptions in ZK client. (#3131)

This is an automated email from the ASF dual-hosted git repository.

bharathv pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/master by this push:
     new a59ac48  HBASE-25743: Retry REQUESTTIMEOUT based KeeperExceptions in ZK client. (#3131)
a59ac48 is described below

commit a59ac48bd961bdb7dde3ccb4a196a203b77da677
Author: Bharath Vissapragada <bh...@apache.org>
AuthorDate: Wed Apr 7 23:44:07 2021 -0700

    HBASE-25743: Retry REQUESTTIMEOUT based KeeperExceptions in ZK client. (#3131)
    
    Starting ZOOKEEPER-2251, client requests exceeding a timeout can throw
    a KeeperException with REQUESTTIMEOUT opcode set. RecoverableZookeeper
    doesn't transparently retry in such cases.
    
    Reviewed-by: Rushabh Shah <ru...@salesforce.com>
    Signed-off-by: Michael Stack <st...@apache.org>
---
 .../hbase/zookeeper/RecoverableZooKeeper.java      | 29 +++++++---------------
 1 file changed, 9 insertions(+), 20 deletions(-)

diff --git a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java
index 9cc1ab2..71fbf9a 100644
--- a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java
+++ b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java
@@ -182,9 +182,8 @@ public class RecoverableZooKeeper {
               throw e;
 
             case CONNECTIONLOSS:
-              retryOrThrow(retryCounter, e, "delete");
-              break;
             case OPERATIONTIMEOUT:
+            case REQUESTTIMEOUT:
               retryOrThrow(retryCounter, e, "delete");
               break;
 
@@ -222,9 +221,8 @@ public class RecoverableZooKeeper {
         } catch (KeeperException e) {
           switch (e.code()) {
             case CONNECTIONLOSS:
-              retryOrThrow(retryCounter, e, "exists");
-              break;
             case OPERATIONTIMEOUT:
+            case REQUESTTIMEOUT:
               retryOrThrow(retryCounter, e, "exists");
               break;
 
@@ -279,9 +277,8 @@ public class RecoverableZooKeeper {
         } catch (KeeperException e) {
           switch (e.code()) {
             case CONNECTIONLOSS:
-              retryOrThrow(retryCounter, e, "getChildren");
-              break;
             case OPERATIONTIMEOUT:
+            case REQUESTTIMEOUT:
               retryOrThrow(retryCounter, e, "getChildren");
               break;
 
@@ -328,9 +325,8 @@ public class RecoverableZooKeeper {
         } catch (KeeperException e) {
           switch (e.code()) {
             case CONNECTIONLOSS:
-              retryOrThrow(retryCounter, e, "getData");
-              break;
             case OPERATIONTIMEOUT:
+            case REQUESTTIMEOUT:
               retryOrThrow(retryCounter, e, "getData");
               break;
 
@@ -370,9 +366,8 @@ public class RecoverableZooKeeper {
         } catch (KeeperException e) {
           switch (e.code()) {
             case CONNECTIONLOSS:
-              retryOrThrow(retryCounter, e, "setData");
-              break;
             case OPERATIONTIMEOUT:
+            case REQUESTTIMEOUT:
               retryOrThrow(retryCounter, e, "setData");
               break;
             case BADVERSION:
@@ -415,9 +410,8 @@ public class RecoverableZooKeeper {
         } catch (KeeperException e) {
           switch (e.code()) {
             case CONNECTIONLOSS:
-              retryOrThrow(retryCounter, e, "getAcl");
-              break;
             case OPERATIONTIMEOUT:
+            case REQUESTTIMEOUT:
               retryOrThrow(retryCounter, e, "getAcl");
               break;
 
@@ -444,8 +438,6 @@ public class RecoverableZooKeeper {
         } catch (KeeperException e) {
           switch (e.code()) {
             case CONNECTIONLOSS:
-              retryOrThrow(retryCounter, e, "setAcl");
-              break;
             case OPERATIONTIMEOUT:
               retryOrThrow(retryCounter, e, "setAcl");
               break;
@@ -524,9 +516,8 @@ public class RecoverableZooKeeper {
             throw e;
 
           case CONNECTIONLOSS:
-            retryOrThrow(retryCounter, e, "create");
-            break;
           case OPERATIONTIMEOUT:
+          case REQUESTTIMEOUT:
             retryOrThrow(retryCounter, e, "create");
             break;
 
@@ -559,9 +550,8 @@ public class RecoverableZooKeeper {
       } catch (KeeperException e) {
         switch (e.code()) {
           case CONNECTIONLOSS:
-            retryOrThrow(retryCounter, e, "create");
-            break;
           case OPERATIONTIMEOUT:
+          case REQUESTTIMEOUT:
             retryOrThrow(retryCounter, e, "create");
             break;
 
@@ -615,9 +605,8 @@ public class RecoverableZooKeeper {
         } catch (KeeperException e) {
           switch (e.code()) {
             case CONNECTIONLOSS:
-              retryOrThrow(retryCounter, e, "multi");
-              break;
             case OPERATIONTIMEOUT:
+            case REQUESTTIMEOUT:
               retryOrThrow(retryCounter, e, "multi");
               break;