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: [email protected]
For additional commands, e-mail: [email protected]