Kihwal Lee created HDFS-15726: --------------------------------- Summary: Client should only complete a file if the last block is finalized Key: HDFS-15726 URL: https://issues.apache.org/jira/browse/HDFS-15726 Project: Hadoop HDFS Issue Type: Bug Reporter: Kihwal Lee
We have seen certain versions of DFS client manage to call {{completeFile()}} before the blocks are finalized. This is ensured by the way {{colseImpl()}} is written. When the logic and sematics around flushing or closing changes, this can easily break, but hard to notice by just looking at the code. We propose adding a simple yet explicit logic to prevent any violation of this protocol. {{completeFile()}} won't be called unless it has received an ack for the last packet (the one causes finalization on the datanode side). This will fix any current bug and also likely prevent inadvertently breaking it in the future. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org