From f3a075e053bdb8a183fd1cd888fd8ff9d6497ea9 Mon Sep 17 00:00:00 2001 From: Xiaoyu Yao Date: Tue, 10 Nov 2015 16:35:06 -0800 Subject: [PATCH] HDFS-9245. Fix findbugs warnings in hdfs-nfs/WriteCtx. Contributed by Mingliang Liu. (cherry picked from commit 6e4562b844dfbbbdc0074323900eb69ee2a3e9c2) --- .../apache/hadoop/hdfs/nfs/nfs3/WriteCtx.java | 22 +++++++++++++------ hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/WriteCtx.java b/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/WriteCtx.java index 8c2c7ee7b67..f4c32f626a5 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/WriteCtx.java +++ b/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/WriteCtx.java @@ -98,7 +98,7 @@ class WriteCtx { */ private int trimDelta; - public int getOriginalCount() { + public synchronized int getOriginalCount() { return originalCount; } @@ -158,7 +158,7 @@ class WriteCtx { } // Resized write should not allow dump - Preconditions.checkState(originalCount == INVALID_ORIGINAL_COUNT); + Preconditions.checkState(getOriginalCount() == INVALID_ORIGINAL_COUNT); this.raf = raf; dumpFileOffset = dumpOut.getChannel().position(); @@ -193,6 +193,13 @@ class WriteCtx { } } + /** + * @return the offset field + */ + private synchronized long getPlainOffset() { + return offset; + } + int getCount() { synchronized(this) { // See comment "Overlapping Write Request Handling" above @@ -253,8 +260,8 @@ class WriteCtx { try { dataBuffer = getData(); } catch (Exception e1) { - LOG.error("Failed to get request data offset:" + offset + " count:" - + count + " error:" + e1); + LOG.error("Failed to get request data offset:" + getPlainOffset() + " " + + "count:" + count + " error:" + e1); throw new IOException("Can't get WriteCtx.data"); } @@ -311,8 +318,9 @@ class WriteCtx { @Override public String toString() { - return "Id:" + handle.getFileId() + " offset:" + offset + " count:" + count - + " originalCount:" + originalCount + " stableHow:" + stableHow - + " replied:" + replied + " dataState:" + dataState + " xid:" + xid; + return "Id:" + handle.getFileId() + " offset:" + getPlainOffset() + " " + + "count:" + count + " originalCount:" + getOriginalCount() + + " stableHow:" + stableHow + " replied:" + replied + " dataState:" + + dataState + " xid:" + xid; } } \ No newline at end of file diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 613f03ed33d..87585d845f7 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -1441,6 +1441,9 @@ Release 2.8.0 - UNRELEASED HDFS-9234. WebHdfs: getContentSummary() should give quota for storage types. (Surendra Singh Lilhore via xyao) + HDFS-9245. Fix findbugs warnings in hdfs-nfs/WriteCtx. + (Mingliang Liu via xyao) + Release 2.7.3 - UNRELEASED INCOMPATIBLE CHANGES