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-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to