You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/11/29 10:51:22 UTC

[iotdb] branch rel/1.0 updated: [To rel/1.0][IOTDB-5039] Change load log error to warn (#8247)

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

qiaojialin pushed a commit to branch rel/1.0
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/1.0 by this push:
     new cd757e559a [To rel/1.0][IOTDB-5039] Change load log error to warn (#8247)
cd757e559a is described below

commit cd757e559a35fb59e1afa4d1d0e9a0dfb1ff535f
Author: yschengzi <87...@users.noreply.github.com>
AuthorDate: Tue Nov 29 18:51:14 2022 +0800

    [To rel/1.0][IOTDB-5039] Change load log error to warn (#8247)
---
 .../scheduler/load/LoadTsFileDispatcherImpl.java   | 14 +++----
 .../plan/scheduler/load/LoadTsFileScheduler.java   | 48 +++++++++++-----------
 2 files changed, 32 insertions(+), 30 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java
index 08327846db..dc36fce471 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java
@@ -94,7 +94,7 @@ public class LoadTsFileDispatcherImpl implements IFragInstanceDispatcher {
             } catch (FragmentInstanceDispatchException e) {
               return new FragInstanceDispatchResult(e.getFailureStatus());
             } catch (Throwable t) {
-              logger.error("cannot dispatch FI for load operation", t);
+              logger.warn("cannot dispatch FI for load operation", t);
               return new FragInstanceDispatchResult(
                   RpcUtils.getStatus(
                       TSStatusCode.INTERNAL_SERVER_ERROR, "Unexpected errors: " + t.getMessage()));
@@ -132,11 +132,11 @@ public class LoadTsFileDispatcherImpl implements IFragInstanceDispatcher {
               instance.getRegionReplicaSet().getRegionId());
       TLoadResp loadResp = client.sendTsFilePieceNode(loadTsFileReq);
       if (!loadResp.isAccepted()) {
-        logger.error(loadResp.message);
+        logger.warn(loadResp.message);
         throw new FragmentInstanceDispatchException(loadResp.status);
       }
     } catch (IOException | TException e) {
-      logger.error("can't connect to node {}", endPoint, e);
+      logger.warn("can't connect to node {}", endPoint, e);
       TSStatus status = new TSStatus();
       status.setCode(TSStatusCode.SYNC_CONNECTION_ERROR.getStatusCode());
       status.setMessage("can't connect to node {}" + endPoint);
@@ -174,7 +174,7 @@ public class LoadTsFileDispatcherImpl implements IFragInstanceDispatcher {
                 ((LoadSingleTsFileNode) planNode).getTsFileResource(),
                 ((LoadSingleTsFileNode) planNode).isDeleteAfterLoad());
       } catch (LoadFileException e) {
-        logger.error(String.format("Load TsFile Node %s error.", planNode), e);
+        logger.warn(String.format("Load TsFile Node %s error.", planNode), e);
         TSStatus resultStatus = new TSStatus();
         resultStatus.setCode(TSStatusCode.LOAD_FILE_ERROR.getStatusCode());
         resultStatus.setMessage(e.getMessage());
@@ -204,7 +204,7 @@ public class LoadTsFileDispatcherImpl implements IFragInstanceDispatcher {
       } catch (FragmentInstanceDispatchException e) {
         return immediateFuture(new FragInstanceDispatchResult(e.getFailureStatus()));
       } catch (Throwable t) {
-        logger.error("cannot dispatch LoadCommand for load operation", t);
+        logger.warn("cannot dispatch LoadCommand for load operation", t);
         return immediateFuture(
             new FragInstanceDispatchResult(
                 RpcUtils.getStatus(
@@ -220,11 +220,11 @@ public class LoadTsFileDispatcherImpl implements IFragInstanceDispatcher {
         internalServiceClientManager.borrowClient(endPoint)) {
       TLoadResp loadResp = client.sendLoadCommand(loadCommandReq);
       if (!loadResp.isAccepted()) {
-        logger.error(loadResp.message);
+        logger.warn(loadResp.message);
         throw new FragmentInstanceDispatchException(loadResp.status);
       }
     } catch (IOException | TException e) {
-      logger.error("can't connect to node {}", endPoint, e);
+      logger.warn("can't connect to node {}", endPoint, e);
       TSStatus status = new TSStatus();
       status.setCode(TSStatusCode.SYNC_CONNECTION_ERROR.getStatusCode());
       status.setMessage(
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileScheduler.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileScheduler.java
index 49e5ce0673..f1d710bb22 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileScheduler.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileScheduler.java
@@ -147,7 +147,7 @@ public class LoadTsFileScheduler implements IScheduler {
         return false;
       }
     } catch (IllegalStateException e) {
-      logger.error(
+      logger.warn(
           String.format(
               "Dispatch TsFileData error when parsing TsFile %s.",
               node.getTsFileResource().getTsFile()),
@@ -155,7 +155,7 @@ public class LoadTsFileScheduler implements IScheduler {
       return false;
     } catch (Exception e) {
       stateMachine.transitionToFailed(e);
-      logger.error(
+      logger.warn(
           String.format("Parse or send TsFile %s error.", node.getTsFileResource().getTsFile()), e);
       return false;
     }
@@ -183,21 +183,21 @@ public class LoadTsFileScheduler implements IScheduler {
               LoadTsFileScheduler.LOAD_TASK_MAX_TIME_IN_SECOND, TimeUnit.SECONDS);
       if (!result.isSuccessful()) {
         // TODO: retry.
-        logger.error(
+        logger.warn(
             String.format(
-                "Dispatch one piece to ReplicaSet %s error, result status code %s.",
-                replicaSet, TSStatusCode.representOf(result.getFailureStatus().getCode()).name()));
-        logger.error(
-            String.format("Result status message %s.", result.getFailureStatus().getMessage()));
+                "Dispatch one piece to ReplicaSet %s error. Result status code %s. Result status message %s. Dispatch piece node error:%n%s",
+                replicaSet,
+                TSStatusCode.representOf(result.getFailureStatus().getCode()).name(),
+                result.getFailureStatus().getMessage(),
+                pieceNode));
         if (result.getFailureStatus().getSubStatus() != null) {
           for (TSStatus status : result.getFailureStatus().getSubStatus()) {
-            logger.error(
+            logger.warn(
                 String.format(
-                    "Sub status code %s.", TSStatusCode.representOf(status.getCode()).name()));
-            logger.error(String.format("Sub status message %s.", status.getMessage()));
+                    "Sub status code %s. Sub status message %s.",
+                    TSStatusCode.representOf(status.getCode()).name(), status.getMessage()));
           }
         }
-        logger.error(String.format("Dispatch piece node error:%n%s", pieceNode));
         TSStatus status = result.getFailureStatus();
         status.setMessage(
             String.format("Load %s piece error in 1st phase. Because ", pieceNode.getTsFile())
@@ -214,7 +214,7 @@ public class LoadTsFileScheduler implements IScheduler {
       return false;
     } catch (TimeoutException e) {
       dispatchResultFuture.cancel(true);
-      logger.error(
+      logger.warn(
           String.format("Wait for loading %s time out.", LoadTsFilePieceNode.class.getName()), e);
       stateMachine.transitionToFailed(e);
       return false;
@@ -234,13 +234,14 @@ public class LoadTsFileScheduler implements IScheduler {
       FragInstanceDispatchResult result = dispatchResultFuture.get();
       if (!result.isSuccessful()) {
         // TODO: retry.
-        logger.error(
+        logger.warn(
             String.format(
-                "Dispatch load command %s of TsFile %s error to replicaSets %s error.",
-                loadCommandReq, tsFile, allReplicaSets));
-        logger.error(String.format("Result status code %s.", result.getFailureStatus().getCode()));
-        logger.error(
-            String.format("Result status message %s.", result.getFailureStatus().getMessage()));
+                "Dispatch load command %s of TsFile %s error to replicaSets %s error. Result status code %s. Result status message %s.",
+                loadCommandReq,
+                tsFile,
+                allReplicaSets,
+                TSStatusCode.representOf(result.getFailureStatus().getCode()).name(),
+                result.getFailureStatus().getMessage()));
         TSStatus status = result.getFailureStatus();
         status.setMessage(
             String.format("Load %s error in 2nd phase. Because ", tsFile) + status.getMessage());
@@ -274,11 +275,12 @@ public class LoadTsFileScheduler implements IScheduler {
       instance.setDataRegionAndHost(node.getLocalRegionReplicaSet());
       dispatcher.dispatchLocally(instance);
     } catch (FragmentInstanceDispatchException e) {
-      logger.error(
+      logger.warn(
           String.format(
-              "Dispatch tsFile %s error to local error.", node.getTsFileResource().getTsFile()));
-      logger.error(String.format("Result status code %s.", e.getFailureStatus().getCode()));
-      logger.error(String.format("Result status message %s.", e.getFailureStatus().getMessage()));
+              "Dispatch tsFile %s error to local error. Result status code %s. Result status message %s.",
+              node.getTsFileResource().getTsFile(),
+              TSStatusCode.representOf(e.getFailureStatus().getCode()).name(),
+              e.getFailureStatus().getMessage()));
       stateMachine.transitionToFailed(e.getFailureStatus());
       return false;
     }
@@ -389,7 +391,7 @@ public class LoadTsFileScheduler implements IScheduler {
     private boolean sendAllTsFileData() {
       for (Map.Entry<TRegionReplicaSet, LoadTsFilePieceNode> entry : replicaSet2Piece.entrySet()) {
         if (!scheduler.dispatchOnePieceNode(entry.getValue(), entry.getKey())) {
-          logger.error(
+          logger.warn(
               String.format(
                   "Dispatch piece node %s of TsFile %s error.",
                   entry.getValue(), singleTsFileNode.getTsFileResource().getTsFile()));