Repository: hadoop Updated Branches: refs/heads/branch-2 239b38215 -> b59b96dee
HDFS-11992. Replace commons-logging APIs with slf4j in FsDatasetImpl. Contributed by hu xiaodong. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b59b96de Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b59b96de Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b59b96de Branch: refs/heads/branch-2 Commit: b59b96deeeb9728d066e93d98e46406dffa90872 Parents: 239b382 Author: Akira Ajisaka <[email protected]> Authored: Tue Jun 27 03:28:09 2017 +0900 Committer: Akira Ajisaka <[email protected]> Committed: Tue Jun 27 03:28:09 2017 +0900 ---------------------------------------------------------------------- .../java/org/apache/hadoop/util/InstrumentedLock.java | 10 +++++----- .../java/org/apache/hadoop/util/InstrumentedReadLock.java | 6 +++--- .../org/apache/hadoop/util/InstrumentedReadWriteLock.java | 4 ++-- .../org/apache/hadoop/util/InstrumentedWriteLock.java | 6 +++--- .../java/org/apache/hadoop/util/TestInstrumentedLock.java | 7 ++++--- .../apache/hadoop/util/TestInstrumentedReadWriteLock.java | 7 ++++--- .../server/datanode/fsdataset/impl/BlockPoolSlice.java | 3 ++- .../server/datanode/fsdataset/impl/FsDatasetImpl.java | 8 ++++---- .../hdfs/server/datanode/fsdataset/impl/FsVolumeList.java | 2 +- 9 files changed, 28 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/b59b96de/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedLock.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedLock.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedLock.java index 0520271..5cfd745 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedLock.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedLock.java @@ -25,9 +25,9 @@ import java.util.concurrent.locks.ReentrantLock; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; -import org.apache.commons.logging.Log; import com.google.common.annotations.VisibleForTesting; +import org.slf4j.Logger; /** * This is a debugging class that can be used by callers to track @@ -44,7 +44,7 @@ import com.google.common.annotations.VisibleForTesting; public class InstrumentedLock implements Lock { private final Lock lock; - private final Log logger; + private final Logger logger; private final String name; private final Timer clock; @@ -70,20 +70,20 @@ public class InstrumentedLock implements Lock { * @param lockWarningThresholdMs the time threshold to view lock held * time as being "too long" */ - public InstrumentedLock(String name, Log logger, long minLoggingGapMs, + public InstrumentedLock(String name, Logger logger, long minLoggingGapMs, long lockWarningThresholdMs) { this(name, logger, new ReentrantLock(), minLoggingGapMs, lockWarningThresholdMs); } - public InstrumentedLock(String name, Log logger, Lock lock, + public InstrumentedLock(String name, Logger logger, Lock lock, long minLoggingGapMs, long lockWarningThresholdMs) { this(name, logger, lock, minLoggingGapMs, lockWarningThresholdMs, new Timer()); } @VisibleForTesting - InstrumentedLock(String name, Log logger, Lock lock, + InstrumentedLock(String name, Logger logger, Lock lock, long minLoggingGapMs, long lockWarningThresholdMs, Timer clock) { this.name = name; this.lock = lock; http://git-wip-us.apache.org/repos/asf/hadoop/blob/b59b96de/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedReadLock.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedReadLock.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedReadLock.java index 09fd43e..e115718 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedReadLock.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedReadLock.java @@ -19,11 +19,11 @@ package org.apache.hadoop.util; import java.util.concurrent.locks.ReentrantReadWriteLock; -import org.apache.commons.logging.Log; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import com.google.common.annotations.VisibleForTesting; +import org.slf4j.Logger; /** * This is a wrap class of a <tt>ReadLock</tt>. @@ -51,7 +51,7 @@ public class InstrumentedReadLock extends InstrumentedLock { }; }; - public InstrumentedReadLock(String name, Log logger, + public InstrumentedReadLock(String name, Logger logger, ReentrantReadWriteLock readWriteLock, long minLoggingGapMs, long lockWarningThresholdMs) { this(name, logger, readWriteLock, minLoggingGapMs, lockWarningThresholdMs, @@ -59,7 +59,7 @@ public class InstrumentedReadLock extends InstrumentedLock { } @VisibleForTesting - InstrumentedReadLock(String name, Log logger, + InstrumentedReadLock(String name, Logger logger, ReentrantReadWriteLock readWriteLock, long minLoggingGapMs, long lockWarningThresholdMs, Timer clock) { super(name, logger, readWriteLock.readLock(), minLoggingGapMs, http://git-wip-us.apache.org/repos/asf/hadoop/blob/b59b96de/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedReadWriteLock.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedReadWriteLock.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedReadWriteLock.java index 62e6b09..a410524 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedReadWriteLock.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedReadWriteLock.java @@ -21,9 +21,9 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; -import org.apache.commons.logging.Log; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; +import org.slf4j.Logger; /** * This is a wrap class of a {@link ReentrantReadWriteLock}. @@ -37,7 +37,7 @@ public class InstrumentedReadWriteLock implements ReadWriteLock { private final Lock readLock; private final Lock writeLock; - InstrumentedReadWriteLock(boolean fair, String name, Log logger, + InstrumentedReadWriteLock(boolean fair, String name, Logger logger, long minLoggingGapMs, long lockWarningThresholdMs) { ReentrantReadWriteLock readWriteLock = new ReentrantReadWriteLock(fair); readLock = new InstrumentedReadLock(name, logger, readWriteLock, http://git-wip-us.apache.org/repos/asf/hadoop/blob/b59b96de/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedWriteLock.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedWriteLock.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedWriteLock.java index 9208c1b..6842166 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedWriteLock.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/InstrumentedWriteLock.java @@ -19,11 +19,11 @@ package org.apache.hadoop.util; import java.util.concurrent.locks.ReentrantReadWriteLock; -import org.apache.commons.logging.Log; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import com.google.common.annotations.VisibleForTesting; +import org.slf4j.Logger; /** * This is a wrap class of a <tt>WriteLock</tt>. @@ -37,7 +37,7 @@ import com.google.common.annotations.VisibleForTesting; @InterfaceStability.Unstable public class InstrumentedWriteLock extends InstrumentedLock { - public InstrumentedWriteLock(String name, Log logger, + public InstrumentedWriteLock(String name, Logger logger, ReentrantReadWriteLock readWriteLock, long minLoggingGapMs, long lockWarningThresholdMs) { this(name, logger, readWriteLock, minLoggingGapMs, lockWarningThresholdMs, @@ -45,7 +45,7 @@ public class InstrumentedWriteLock extends InstrumentedLock { } @VisibleForTesting - InstrumentedWriteLock(String name, Log logger, + InstrumentedWriteLock(String name, Logger logger, ReentrantReadWriteLock readWriteLock, long minLoggingGapMs, long lockWarningThresholdMs, Timer clock) { super(name, logger, readWriteLock.writeLock(), minLoggingGapMs, http://git-wip-us.apache.org/repos/asf/hadoop/blob/b59b96de/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestInstrumentedLock.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestInstrumentedLock.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestInstrumentedLock.java index de68fe4..f99a229 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestInstrumentedLock.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestInstrumentedLock.java @@ -21,11 +21,11 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.locks.Lock; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestName; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import static org.mockito.Mockito.*; import static org.junit.Assert.*; @@ -34,7 +34,8 @@ import static org.junit.Assert.*; */ public class TestInstrumentedLock { - static final Log LOG = LogFactory.getLog(TestInstrumentedLock.class); + static final Logger LOG = LoggerFactory.getLogger( + TestInstrumentedLock.class); @Rule public TestName name = new TestName(); http://git-wip-us.apache.org/repos/asf/hadoop/blob/b59b96de/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestInstrumentedReadWriteLock.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestInstrumentedReadWriteLock.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestInstrumentedReadWriteLock.java index eeefa88..3e1a88b 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestInstrumentedReadWriteLock.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestInstrumentedReadWriteLock.java @@ -24,18 +24,19 @@ import static org.junit.Assert.assertTrue; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.locks.ReentrantReadWriteLock; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestName; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * A test class for InstrumentedReadLock and InstrumentedWriteLock. */ public class TestInstrumentedReadWriteLock { - static final Log LOG = LogFactory.getLog(TestInstrumentedReadWriteLock.class); + static final Logger LOG = LoggerFactory.getLogger( + TestInstrumentedReadWriteLock.class); @Rule public TestName name = new TestName(); http://git-wip-us.apache.org/repos/asf/hadoop/blob/b59b96de/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java index 31cf39f..f46b6a4 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java @@ -723,7 +723,8 @@ class BlockPoolSlice { } } } catch (IOException e) { - FsDatasetImpl.LOG.warn(e); + FsDatasetImpl.LOG.warn("Getting exception while validating integrity " + + "and setting length for blockFile", e); return 0; } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/b59b96de/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java index ac0e046..dee48a0 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java @@ -21,8 +21,6 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.CommonConfigurationKeys; @@ -95,6 +93,8 @@ import org.apache.hadoop.util.InstrumentedLock; import org.apache.hadoop.util.ReflectionUtils; import org.apache.hadoop.util.Time; import org.apache.hadoop.util.Timer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import javax.management.NotCompliantMBeanException; import javax.management.ObjectName; @@ -132,7 +132,7 @@ import java.util.concurrent.locks.Condition; ***************************************************/ @InterfaceAudience.Private class FsDatasetImpl implements FsDatasetSpi<FsVolumeImpl> { - static final Log LOG = LogFactory.getLog(FsDatasetImpl.class); + static final Logger LOG = LoggerFactory.getLogger(FsDatasetImpl.class); private final static boolean isNativeIOAvailable; private Timer timer; static { @@ -1116,7 +1116,7 @@ class FsDatasetImpl implements FsDatasetSpi<FsVolumeImpl> { checksum.calculateChunkedSums(data, 0, offset, crcs, 0); metaOut.write(crcs, 0, 4); } finally { - IOUtils.cleanup(LOG, metaOut); + IOUtils.cleanupWithLogger(LOG, metaOut); } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/b59b96de/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsVolumeList.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsVolumeList.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsVolumeList.java index 29bc4c9..5d76b33 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsVolumeList.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsVolumeList.java @@ -292,7 +292,7 @@ class FsVolumeList { } else { // If the volume is not put into a volume scanner, it does not need to // hold the reference. - IOUtils.cleanup(FsDatasetImpl.LOG, ref); + IOUtils.cleanupWithLogger(FsDatasetImpl.LOG, ref); } // If the volume is used to replace a failed volume, it needs to reset the // volume failure info for this volume. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
