[
https://issues.apache.org/jira/browse/HDFS-11708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16027764#comment-16027764
]
Vinayakumar B edited comment on HDFS-11708 at 5/28/17 9:57 AM:
---------------------------------------------------------------
Attached the patch for the update.
1. Reason for test's failure to detect issue during full run is HDFS-11898.
{{TestPread#testPreadFailureWithChangedBlockLocations()}} was also using hedged
reads, for which issue will not occur. Included those changes as well here for
jenkins run.
2.
bq. It seems like a rather fancy way to update a block variable that got stale.
Would've preferred something more explicit
Using the return value of {{choseDatanode()}} to return the updated {{block}}
as well. So avoiding the redundant calls to {{refreshLocatedBlock()}};
Please give your thoughts.
was (Author: vinayrpet):
Attached the patch for the update.
1. Reason for test's failure to detect issue during full run is HDFS-11898.
Included those changes as well here for jenkins run.
2.
bq. It seems like a rather fancy way to update a block variable that got stale.
Would've preferred something more explicit
Using the return value of {{choseDatanode()}} to return the updated {{block}}
as well. So avoiding the redundant calls to {{refreshLocatedBlock()}};
Please give your thoughts.
> positional read will fail if replicas moved to different DNs after stream is
> opened
> -----------------------------------------------------------------------------------
>
> Key: HDFS-11708
> URL: https://issues.apache.org/jira/browse/HDFS-11708
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: hdfs-client
> Affects Versions: 2.7.3
> Reporter: Vinayakumar B
> Assignee: Vinayakumar B
> Priority: Critical
> Labels: release-blocker
> Attachments: HDFS-11708-01.patch, HDFS-11708-02.patch,
> HDFS-11708-03.patch, HDFS-11708-04.patch, HDFS-11708-05.patch,
> HDFS-11708-HDFS-11898-06.patch
>
>
> Scenario:
> 1. File was written to DN1, DN2 with RF=2
> 2. File stream opened to read and kept. Block Locations are [DN1,DN2]
> 3. One of the replica (DN2) moved to another datanode (DN3) due to datanode
> dead/balancing/etc.
> 4. Latest block locations in NameNode will be DN1 and DN3 in the 'same order'
> 5. DN1 went down, but not yet detected as dead in NameNode.
> 6. Client start reading using positional read api "read(pos, buf[], offset,
> length)"
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]