[ 
https://issues.apache.org/jira/browse/HDFS-1142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12871475#action_12871475
 ] 

sam rash commented on HDFS-1142:
--------------------------------

hmm, the client never reacquires the lease in my example--it loses it, still is 
able to acquire blocks and write to the DNs, but those blocks do not complete 
(client dies) and report to the NN.  They are "lost" in that the lease recovery 
that completes by the NN will only know the block was allocated, but not any 
locations.  The lease will be removed and the blocks won't be recovered ever.

during this time, the client may have called sync/hflush and hence received 
acks for that data. This is the violation I think that might occur. I've looked 
at trunk and I'm not seeing how this is avoided there even...?

Thanks for your patience in discussing this--maybe there isn't a problem and I 
don't yet see how even trunk handles this?

> Lease recovery doesn't reassign lease when triggered by append()
> ----------------------------------------------------------------
>
>                 Key: HDFS-1142
>                 URL: https://issues.apache.org/jira/browse/HDFS-1142
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: name-node
>    Affects Versions: 0.21.0
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>         Attachments: hdfs-1142.txt, hdfs-1142.txt
>
>
> If a soft lease has expired and another writer calls append(), it triggers 
> lease recovery but doesn't reassign the lease to a new owner. Therefore, the 
> old writer can continue to allocate new blocks, try to steal back the lease, 
> etc. This is for the testRecoveryOnBlockBoundary case of HDFS-1139

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to