From a17fc1dca3e9a115fd53dc17f73cc64a1efa8008 Mon Sep 17 00:00:00 2001 From: Akira Ajisaka Date: Tue, 7 Jun 2016 17:52:03 +0900 Subject: [PATCH] HDFS-10485. Fix findbugs warning in FSEditLog.java. (aajisaka) (cherry picked from commit e620530301fd3e62537d4b7bc3d8ed296bda1ffc) (cherry picked from commit b8c1db6f63f9d01f44f8f43921aadfe999eefd76) --- .../apache/hadoop/hdfs/server/namenode/FSEditLog.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java index 92476424211..3eda0f525a9 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java @@ -27,6 +27,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; +import java.util.concurrent.atomic.AtomicLong; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -175,7 +176,7 @@ public class FSEditLog implements LogsPurgeable { // these are statistics counters. private long numTransactions; // number of transactions - private long numTransactionsBatchedInSync; + private final AtomicLong numTransactionsBatchedInSync = new AtomicLong(); private long totalTimeTransactions; // total time for all transactions private NameNodeMetrics metrics; @@ -673,7 +674,7 @@ public class FSEditLog implements LogsPurgeable { if (metrics != null) { // Metrics non-null only when used inside name node metrics.addSync(elapsed); metrics.incrTransactionsBatchedInSync(editsBatchedInSync); - numTransactionsBatchedInSync += editsBatchedInSync; + numTransactionsBatchedInSync.addAndGet(editsBatchedInSync); } } finally { @@ -713,7 +714,7 @@ public class FSEditLog implements LogsPurgeable { buf.append(" Total time for transactions(ms): "); buf.append(totalTimeTransactions); buf.append(" Number of transactions batched in Syncs: "); - buf.append(numTransactionsBatchedInSync); + buf.append(numTransactionsBatchedInSync.get()); buf.append(" Number of syncs: "); buf.append(editLogStream.getNumSync()); buf.append(" SyncTimes(ms): "); @@ -1251,7 +1252,9 @@ public class FSEditLog implements LogsPurgeable { "Cannot start log segment at txid %s when next expected " + "txid is %s", segmentTxId, txid + 1); - numTransactions = totalTimeTransactions = numTransactionsBatchedInSync = 0; + numTransactions = 0; + totalTimeTransactions = 0; + numTransactionsBatchedInSync.set(0L); // TODO no need to link this back to storage anymore! // See HDFS-2174.