[ https://issues.apache.org/jira/browse/HDFS-8233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jing Zhao resolved HDFS-8233. ----------------------------- Resolution: Fixed Fix Version/s: HDFS-7285 Thanks for the review, Nicholas! I've committed this. > Fix DFSStripedOutputStream#getCurrentBlockGroupBytes when the last stripe is > at the block group boundary > -------------------------------------------------------------------------------------------------------- > > Key: HDFS-8233 > URL: https://issues.apache.org/jira/browse/HDFS-8233 > Project: Hadoop HDFS > Issue Type: Sub-task > Reporter: Jing Zhao > Assignee: Jing Zhao > Fix For: HDFS-7285 > > Attachments: hdfs8233-HDFS-7285.000.patch > > > Currently {{DFSStripedOutputStream#getCurrentBlockGroupBytes}} simply uses > {{getBytesCurBlock}} of each streamer to calculate the block group size. This > is wrong when the last stripe is at the block group boundary, since the > {{bytesCurBlock}} is set to 0 if an internal block is finished. > For example, when the real block size is {{blockGroupSize - cellSize * > (numDataBlocks - 1)}}, i.e., the first internal block is full while the > others are not, the {{getCurrentBlockGroupBytes}} returns wrong result and > cause the write to fail. -- This message was sent by Atlassian JIRA (v6.3.4#6332)