From e0fa1040afc4a4683634ca39dd28620408250d01 Mon Sep 17 00:00:00 2001 From: supratimdeka <46919641+supratimdeka@users.noreply.github.com> Date: Wed, 10 Jul 2019 16:45:55 +0530 Subject: [PATCH] HDDS-1748. Error message for 3 way commit failure is not verbose. Contributed by Supratim Deka (#1051) --- .../org/apache/hadoop/hdds/scm/XceiverClientRatis.java | 7 ++++--- .../apache/hadoop/hdds/scm/storage/BlockOutputStream.java | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientRatis.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientRatis.java index 4a90e489c9..98cba0b103 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientRatis.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientRatis.java @@ -259,7 +259,7 @@ public XceiverClientReply watchForCommit(long index, long timeout) replyFuture.get(timeout, TimeUnit.MILLISECONDS); } catch (Exception e) { Throwable t = HddsClientUtils.checkForException(e); - LOG.warn("3 way commit failed ", e); + LOG.warn("3 way commit failed on pipeline {}", pipeline, e); if (t instanceof GroupMismatchException) { throw e; } @@ -278,8 +278,9 @@ public XceiverClientReply watchForCommit(long index, long timeout) // replication. commitInfoMap.remove(address); LOG.info( - "Could not commit " + index + " to all the nodes. Server " + address - + " has failed." + " Committed by majority."); + "Could not commit index {} on pipeline {} to all the nodes. " + + "Server {} has failed. Committed by majority.", + index, pipeline, address); }); } clientReply.setLogIndex(index); diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockOutputStream.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockOutputStream.java index fc9d4049e9..9e40f3eb22 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockOutputStream.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockOutputStream.java @@ -356,9 +356,10 @@ private void watchForCommit(boolean bufferFull) throws IOException { if (reply != null) { List dnList = reply.getDatanodes(); if (!dnList.isEmpty()) { - if (failedServers.isEmpty()) { - failedServers = new ArrayList<>(); - } + Pipeline pipe = xceiverClient.getPipeline(); + + LOG.warn("Failed to commit BlockId {} on {}. Failed nodes: {}", + blockID, pipe, dnList); failedServers.addAll(dnList); } }