[
https://issues.apache.org/jira/browse/HDFS-16748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17598865#comment-17598865
]
ASF GitHub Bot commented on HDFS-16748:
---------------------------------------
ZanderXu commented on PR #4813:
URL: https://github.com/apache/hadoop/pull/4813#issuecomment-1234064456
> Just thinking, if the second file which was on top, which overwrote the
previous entry gets closed, then there would be no entry & in that case
renewLease will not be triggered only for the entry which got overwritten, even
without the previous patch?
@ayushtkn Nice example. @Hexiaoqiao Maybe I misled you. Incorrect
filesBeingWritten can cause a lot of problems, not just renewLease, such as
DFSClient lose some writing files when closing all writing files.
> DFSClient should uniquely identify writing files by namespace id and iNodeId
> ----------------------------------------------------------------------------
>
> Key: HDFS-16748
> URL: https://issues.apache.org/jira/browse/HDFS-16748
> Project: Hadoop HDFS
> Issue Type: Bug
> Reporter: ZanderXu
> Assignee: ZanderXu
> Priority: Critical
> Labels: pull-request-available
>
> DFSClient should diff the writing files with namespaceId and iNodeId, because
> the writing files may belongs to different namespace with the same iNodeId.
> And the related code as bellows:
> {code:java}
> public void putFileBeingWritten(final long inodeId,
> final DFSOutputStream out) {
> synchronized(filesBeingWritten) {
> filesBeingWritten.put(inodeId, out);
> // update the last lease renewal time only when there was no
> // writes. once there is one write stream open, the lease renewer
> // thread keeps it updated well with in anyone's expiration time.
> if (lastLeaseRenewal == 0) {
> updateLastLeaseRenewal();
> }
> }
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]