소스 검색

HDFS-7399. Lack of synchronization in DFSOutputStream#Packet#getLastByteOffsetBlock() (Contributed by Vinayakumar B)

(cherry picked from commit 6783d17fcf5b25165767888f756a6b7802ab1371)
Vinayakumar B 10 년 전
부모
커밋
5bb47d0418

+ 3 - 0
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

@@ -178,6 +178,9 @@ Release 2.7.0 - UNRELEASED
     HDFS-7395. BlockIdManager#clear() bails out when resetting the
     GenerationStampV1Limit. (wheat9)
 
+    HDFS-7399. Lack of synchronization in
+    DFSOutputStream#Packet#getLastByteOffsetBlock() (vinayakumarb)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

+ 3 - 3
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java

@@ -342,12 +342,12 @@ public class DFSOutputStream extends FSOutputSummer
       bam.release(buf);
       buf = null;
     }
-    
+
     // get the packet's last byte's offset in the block
-    long getLastByteOffsetBlock() {
+    synchronized long getLastByteOffsetBlock() {
       return offsetInBlock + dataPos - dataStart;
     }
-    
+
     /**
      * Check if this packet is a heart beat packet
      * @return true if the sequence number is HEART_BEAT_SEQNO