diff --git a/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/util/DistCpUtils.java b/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/util/DistCpUtils.java index e77b2031a76db..7ba06eac3a46c 100644 --- a/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/util/DistCpUtils.java +++ b/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/util/DistCpUtils.java @@ -596,6 +596,9 @@ public static CopyMapper.ChecksumComparison checksumsAreEqual( } else if (sourceChecksum.equals(targetChecksum)) { return CopyMapper.ChecksumComparison.TRUE; } + LOG.info("Checksum not equal. Source path: {}, source checksum: {}, target path {}, " + + "target checksum: {}", + source, sourceChecksum, target, targetChecksum); return CopyMapper.ChecksumComparison.FALSE; } diff --git a/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyCommitter.java b/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyCommitter.java index 6a537dc6e7de9..6fac7aedb6ea5 100644 --- a/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyCommitter.java +++ b/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyCommitter.java @@ -19,6 +19,7 @@ package org.apache.hadoop.tools.mapred; import org.apache.hadoop.fs.contract.ContractTestUtils; +import org.assertj.core.api.Assertions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.hadoop.conf.Configuration; @@ -513,7 +514,8 @@ public void testCommitWithChecksumMismatchWithoutSkipCrc() private void testCommitWithChecksumMismatch(boolean skipCrc) throws IOException { - + GenericTestUtils.LogCapturer log = GenericTestUtils.LogCapturer.captureLogs( + LoggerFactory.getLogger(DistCpUtils.class)); TaskAttemptContext taskAttemptContext = getTaskAttemptContext(config); JobContext jobContext = new JobContextImpl( taskAttemptContext.getConfiguration(), @@ -569,6 +571,7 @@ private void testCommitWithChecksumMismatch(boolean skipCrc) fs, new Path(sourceBase + srcFilename), null, fs, new Path(targetBase + srcFilename), sourceCurrStatus.getLen())); + Assertions.assertThat(log.getOutput()).contains("Checksum not equal"); } catch(IOException exception) { if (skipCrc) { LOG.error("Unexpected exception is found", exception);