[
https://issues.apache.org/jira/browse/HDFS-15726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kihwal Lee reassigned HDFS-15726:
---------------------------------
Assignee: Ahmed Hussein
> 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
> Assignee: Ahmed Hussein
> Priority: Major
>
> 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]