From e9ded609fee89d36d46505580f596870ba2f614d Mon Sep 17 00:00:00 2001 From: Swaminathan Balachandran Date: Wed, 15 Jun 2022 19:16:03 -0700 Subject: [PATCH 1/6] HDDS-6899: Fix Logging --- .../java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java | 5 ++++- .../hadoop/ozone/client/io/ECBlockInputStreamProxy.java | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java index eea2bf37df7f..fd9161ea659e 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java @@ -280,7 +280,10 @@ public ContainerCommandResponseProto sendCommand( // Re-interrupt the thread while catching InterruptedException Thread.currentThread().interrupt(); } catch (ExecutionException e) { - LOG.error("Failed to execute command {}", processForDebug(request), e); + LOG.error("Failed to execute command {}." + + "Exception Class: {}, Exception Message: {}", + request.getCmdType(), e.getClass().getName(), e.getMessage()); + LOG.debug("{}", processForDebug(request), e); } return responseProtoHashMap; } diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java index 49ee7c753825..fb216175d484 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java @@ -166,7 +166,9 @@ public synchronized int read(ByteBuffer buf) throws IOException { } if (e instanceof BadDataLocationException) { LOG.warn("Failing over to reconstruction read due to an error in " + - "ECBlockReader", e); + "ECBlockReader. Exception Class: {}, Exception Message: {}", + e.getClass().getName(), e.getMessage()); + LOG.debug("Exception: ", e); failoverToReconstructionRead( ((BadDataLocationException) e).getFailedLocation(), lastPosition); buf.reset(); From 50d335b9b4634e563035fd1d87db4fc1779f9547 Mon Sep 17 00:00:00 2001 From: Swaminathan Balachandran Date: Thu, 16 Jun 2022 11:09:56 -0700 Subject: [PATCH 2/6] HDDS-6899: Address Review Comments --- .../apache/hadoop/hdds/scm/XceiverClientGrpc.java | 11 +++++++---- .../ozone/client/io/ECBlockInputStreamProxy.java | 13 +++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java index fd9161ea659e..697d40e67bd0 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java @@ -280,10 +280,13 @@ public ContainerCommandResponseProto sendCommand( // Re-interrupt the thread while catching InterruptedException Thread.currentThread().interrupt(); } catch (ExecutionException e) { - LOG.error("Failed to execute command {}." + - "Exception Class: {}, Exception Message: {}", - request.getCmdType(), e.getClass().getName(), e.getMessage()); - LOG.debug("{}", processForDebug(request), e); + if (LOG.isDebugEnabled()) { + LOG.debug("Failed to execute command {}", processForDebug(request), e); + } else { + LOG.error("Failed to execute command {}." + + "Exception Class: {}, Exception Message: {}", + request.getCmdType(), e.getClass().getName(), e.getMessage()); + } } return responseProtoHashMap; } diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java index fb216175d484..0fc690467755 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java @@ -165,10 +165,15 @@ public synchronized int read(ByteBuffer buf) throws IOException { throw e; } if (e instanceof BadDataLocationException) { - LOG.warn("Failing over to reconstruction read due to an error in " + - "ECBlockReader. Exception Class: {}, Exception Message: {}", - e.getClass().getName(), e.getMessage()); - LOG.debug("Exception: ", e); + if(LOG.isDebugEnabled()){ + LOG.debug("Failing over to reconstruction read due to an error in " + + "ECBlockReader.", e); + }else { + LOG.warn("Failing over to reconstruction read due to an error in " + + "ECBlockReader. Exception Class: {}, Exception Message: {}", + e.getClass().getName(), e.getMessage()); + } + failoverToReconstructionRead( ((BadDataLocationException) e).getFailedLocation(), lastPosition); buf.reset(); From 5545a52290f888165d8dc8b225eb02c4fcb74e64 Mon Sep 17 00:00:00 2001 From: Swaminathan Balachandran Date: Thu, 16 Jun 2022 12:09:51 -0700 Subject: [PATCH 3/6] HDDS-6899: Fix Checkstyle issue --- .../hadoop/ozone/client/io/ECBlockInputStreamProxy.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java index 0fc690467755..6c4a8dfb065c 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java @@ -165,12 +165,13 @@ public synchronized int read(ByteBuffer buf) throws IOException { throw e; } if (e instanceof BadDataLocationException) { - if(LOG.isDebugEnabled()){ + if(LOG.isDebugEnabled()) { LOG.debug("Failing over to reconstruction read due to an error in " + "ECBlockReader.", e); - }else { + } else { LOG.warn("Failing over to reconstruction read due to an error in " + - "ECBlockReader. Exception Class: {}, Exception Message: {}", + "ECBlockReader. Exception Class: {}, " + + "Exception Message: {}", e.getClass().getName(), e.getMessage()); } From f7320b1abca19b5f19116a8d9dfe9dd442782463 Mon Sep 17 00:00:00 2001 From: Swaminathan Balachandran Date: Mon, 20 Jun 2022 10:56:05 -0700 Subject: [PATCH 4/6] HDDS-6899: Address Review Comments --- .../org/apache/hadoop/hdds/scm/XceiverClientGrpc.java | 6 +++--- .../ozone/client/io/ECBlockInputStreamProxy.java | 11 +++++------ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java index 697d40e67bd0..019e878df035 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java @@ -280,11 +280,11 @@ public ContainerCommandResponseProto sendCommand( // Re-interrupt the thread while catching InterruptedException Thread.currentThread().interrupt(); } catch (ExecutionException e) { + String message = "Failed to execute command {}."; if (LOG.isDebugEnabled()) { - LOG.debug("Failed to execute command {}", processForDebug(request), e); + LOG.debug(message, processForDebug(request), e); } else { - LOG.error("Failed to execute command {}." + - "Exception Class: {}, Exception Message: {}", + LOG.error(message + "Exception Class: {}, Exception Message: {}", request.getCmdType(), e.getClass().getName(), e.getMessage()); } } diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java index 6c4a8dfb065c..791c857361fe 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java @@ -165,14 +165,13 @@ public synchronized int read(ByteBuffer buf) throws IOException { throw e; } if (e instanceof BadDataLocationException) { + String message = "Failing over to reconstruction read due" + + " to an error in ECBlockReader."; if(LOG.isDebugEnabled()) { - LOG.debug("Failing over to reconstruction read due to an error in " + - "ECBlockReader.", e); + LOG.debug(message, e); } else { - LOG.warn("Failing over to reconstruction read due to an error in " + - "ECBlockReader. Exception Class: {}, " + - "Exception Message: {}", - e.getClass().getName(), e.getMessage()); + LOG.warn("{} Exception Class: {}, Exception Message: {}", + message, e.getClass().getName(), e.getMessage()); } failoverToReconstructionRead( From 138cca44e66264a01d58ec4c9b107d8f2820cab2 Mon Sep 17 00:00:00 2001 From: Swaminathan Balachandran Date: Mon, 20 Jun 2022 11:29:53 -0700 Subject: [PATCH 5/6] HDDS-6899: Fix Checkstyle Issues --- .../apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java index 791c857361fe..7cacf24699a0 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java @@ -167,7 +167,7 @@ public synchronized int read(ByteBuffer buf) throws IOException { if (e instanceof BadDataLocationException) { String message = "Failing over to reconstruction read due" + " to an error in ECBlockReader."; - if(LOG.isDebugEnabled()) { + if (LOG.isDebugEnabled()) { LOG.debug(message, e); } else { LOG.warn("{} Exception Class: {}, Exception Message: {}", From ae007e4bea235570fca13335c9f34c6377dd83ca Mon Sep 17 00:00:00 2001 From: Swaminathan Balachandran Date: Mon, 20 Jun 2022 11:45:31 -0700 Subject: [PATCH 6/6] HDDS-6899: Address Review Comments --- .../main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java | 2 +- .../apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java index 019e878df035..240214611698 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java @@ -284,7 +284,7 @@ public ContainerCommandResponseProto sendCommand( if (LOG.isDebugEnabled()) { LOG.debug(message, processForDebug(request), e); } else { - LOG.error(message + "Exception Class: {}, Exception Message: {}", + LOG.error(message + " Exception Class: {}, Exception Message: {}", request.getCmdType(), e.getClass().getName(), e.getMessage()); } } diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java index 7cacf24699a0..5427e300cec3 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/ECBlockInputStreamProxy.java @@ -170,7 +170,7 @@ public synchronized int read(ByteBuffer buf) throws IOException { if (LOG.isDebugEnabled()) { LOG.debug(message, e); } else { - LOG.warn("{} Exception Class: {}, Exception Message: {}", + LOG.warn("{} Exception Class: {} , Exception Message: {}", message, e.getClass().getName(), e.getMessage()); }