HDFS-6433. Replace BytesMoved class with AtomicLong. Contributed by Benoy Antony.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1596742 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Chris Nauroth 2014-05-22 04:50:53 +00:00
parent b2f4e53e2b
commit 6b2e615f5f
2 changed files with 6 additions and 12 deletions

View File

@ -575,6 +575,9 @@ Release 2.5.0 - UNRELEASED
HDFS-6409. Fix typo in log message about NameNode layout version upgrade.
(Chen He via cnauroth)
HDFS-6433. Replace BytesMoved class with AtomicLong.
(Benoy Antony via cnauroth)
Release 2.4.1 - UNRELEASED
INCOMPATIBLE CHANGES

View File

@ -47,6 +47,7 @@
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@ -365,7 +366,7 @@ private void dispatch() {
sendRequest(out);
receiveResponse(in);
bytesMoved.inc(block.getNumBytes());
bytesMoved.addAndGet(block.getNumBytes());
LOG.info("Successfully moved " + this);
} catch (IOException e) {
LOG.warn("Failed to move " + this + ": " + e.getMessage());
@ -1111,17 +1112,7 @@ C chooseCandidate(D dn, Iterator<C> candidates, Matcher matcher) {
return null;
}
private static class BytesMoved {
private long bytesMoved = 0L;;
private synchronized void inc( long bytes ) {
bytesMoved += bytes;
}
private synchronized long get() {
return bytesMoved;
}
};
private final BytesMoved bytesMoved = new BytesMoved();
private final AtomicLong bytesMoved = new AtomicLong();
/* Start a thread to dispatch block moves for each source.
* The thread selects blocks to move & sends request to proxy source to