You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2020/07/01 23:08:16 UTC

[hbase] 02/02: HBASE-24574 Procedure V2 - Distributed WAL Splitting => LOGGING (#1912) Addendum; minor log edits

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

stack pushed a commit to branch branch-2.3
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 58a9ff59b2801c9003661eaf3977e9825072aa31
Author: stack <st...@apache.org>
AuthorDate: Thu Jun 18 08:37:19 2020 -0700

     HBASE-24574 Procedure V2 - Distributed WAL Splitting => LOGGING (#1912)
     Addendum; minor log edits
---
 .../hbase/master/procedure/SplitWALProcedure.java      |  7 +++++--
 .../regionserver/RemoteProcedureResultReporter.java    |  6 +++---
 .../hadoop/hbase/regionserver/SplitLogWorker.java      | 18 +++++++-----------
 .../hbase/regionserver/handler/WALSplitterHandler.java |  1 +
 4 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/SplitWALProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/SplitWALProcedure.java
index 81d525d..4ae408f 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/SplitWALProcedure.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/SplitWALProcedure.java
@@ -185,8 +185,11 @@ public class SplitWALProcedure
 
   @Override
   protected void afterReplay(MasterProcedureEnv env){
-    if(worker != null){
-      env.getMasterServices().getSplitWALManager().addUsedSplitWALWorker(worker);
+    if (worker != null) {
+      if (env != null && env.getMasterServices() != null &&
+          env.getMasterServices().getSplitWALManager() != null) {
+        env.getMasterServices().getSplitWALManager().addUsedSplitWALWorker(worker);
+      }
     }
   }
 
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RemoteProcedureResultReporter.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RemoteProcedureResultReporter.java
index efb044a..981f090 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RemoteProcedureResultReporter.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RemoteProcedureResultReporter.java
@@ -57,11 +57,11 @@ class RemoteProcedureResultReporter extends Thread {
   public void complete(long procId, Throwable error) {
     RemoteProcedureResult.Builder builder = RemoteProcedureResult.newBuilder().setProcId(procId);
     if (error != null) {
-      LOG.debug("Failed to complete execution of proc pid={}", procId, error);
+      LOG.debug("Failed to complete execution of pid={}", procId, error);
       builder.setStatus(RemoteProcedureResult.Status.ERROR).setError(
         ForeignExceptionUtil.toProtoForeignException(server.getServerName().toString(), error));
     } else {
-      LOG.debug("Successfully complete execution of proc pid={}", procId);
+      LOG.debug("Successfully complete execution of pid={}", procId);
       builder.setStatus(RemoteProcedureResult.Status.SUCCESS);
     }
     results.add(builder.build());
@@ -102,7 +102,7 @@ class RemoteProcedureResultReporter extends Thread {
         } else {
           pauseTime = INIT_PAUSE_TIME_MS; // Reset.
         }
-        LOG.info("Failed report procedure " + TextFormat.shortDebugString(request) + "; retry (#" +
+        LOG.info("Failed procedure report " + TextFormat.shortDebugString(request) + "; retry (#" +
           tries + ")" + (pause ? " after " + pauseTime + "ms delay (Master is coming online...)."
             : " immediately."),
           e);
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java
index 6a8e288..44c8f5c 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java
@@ -1,5 +1,4 @@
-/**
- *
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -39,7 +38,6 @@ import org.apache.hadoop.hbase.wal.WALSplitter;
 import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
 import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;
 
 /**
@@ -95,7 +93,7 @@ public class SplitLogWorker implements Runnable {
       walDir = CommonFSUtils.getWALRootDir(conf);
       fs = walDir.getFileSystem(conf);
     } catch (IOException e) {
-      LOG.warn("could not find root dir or fs", e);
+      LOG.warn("Resigning, could not find root dir or fs", e);
       return Status.RESIGNED;
     }
     // TODO have to correctly figure out when log splitting has been
@@ -110,26 +108,24 @@ public class SplitLogWorker implements Runnable {
         return Status.PREEMPTED;
       }
     } catch (InterruptedIOException iioe) {
-      LOG.warn("log splitting of " + filename + " interrupted, resigning", iioe);
+      LOG.warn("Resigning, interrupted splitting WAL {}", filename, iioe);
       return Status.RESIGNED;
     } catch (IOException e) {
       if (e instanceof FileNotFoundException) {
         // A wal file may not exist anymore. Nothing can be recovered so move on
-        LOG.warn("WAL {} does not exist anymore", filename, e);
+        LOG.warn("Done, WAL {} does not exist anymore", filename, e);
         return Status.DONE;
       }
       Throwable cause = e.getCause();
       if (e instanceof RetriesExhaustedException && (cause instanceof NotServingRegionException
           || cause instanceof ConnectException || cause instanceof SocketTimeoutException)) {
-        LOG.warn("log replaying of " + filename + " can't connect to the target regionserver, "
-            + "resigning",
-          e);
+        LOG.warn("Resigning, can't connect to target regionserver splitting WAL {}", filename, e);
         return Status.RESIGNED;
       } else if (cause instanceof InterruptedException) {
-        LOG.warn("log splitting of " + filename + " interrupted, resigning", e);
+        LOG.warn("Resigning, interrupted splitting WAL {}", filename, e);
         return Status.RESIGNED;
       }
-      LOG.warn("log splitting of " + filename + " failed, returning error", e);
+      LOG.warn("Error splitting WAL {}", filename, e);
       return Status.ERR;
     }
     LOG.debug("Done splitting WAL {}", filename);
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/WALSplitterHandler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/WALSplitterHandler.java
index 49ab574..d6009e3 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/WALSplitterHandler.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/WALSplitterHandler.java
@@ -37,6 +37,7 @@ import org.apache.hadoop.hbase.util.CancelableProgressable;
 
 /**
  * Handles log splitting a wal
+ * Used by the zk-based distributed log splitting. Created by ZKSplitLogWorkerCoordination.
  */
 @InterfaceAudience.Private
 public class WALSplitterHandler extends EventHandler {