You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2009/09/25 07:39:16 UTC
[jira] Resolved: (HDFS-404) Why open method in class DFSClient
would compare old LocatedBlocks and new LocatedBlocks?
[ https://issues.apache.org/jira/browse/HDFS-404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Todd Lipcon resolved HDFS-404.
------------------------------
Resolution: Invalid
Assignee: Todd Lipcon
Hi Gianyu,
This is not the forum for questions about the code.
To quickly answer your question, the comparison is about the Blocks, not the LocatedBlocks. It is essentialy an assertion that the actual block IDs in the file have not changed - if they have it indicates that the file has been swapped with another file underneath the reader. Making sure the blocks have the same IDs causes this to throw an error instead of starting to read the other file.
Resolving as invalid.
> Why open method in class DFSClient would compare old LocatedBlocks and new LocatedBlocks?
> -----------------------------------------------------------------------------------------
>
> Key: HDFS-404
> URL: https://issues.apache.org/jira/browse/HDFS-404
> Project: Hadoop HDFS
> Issue Type: Wish
> Reporter: qianyu
> Assignee: Todd Lipcon
> Original Estimate: 168h
> Remaining Estimate: 168h
>
> This is in the package of org.apache.hadoop.hdfs, DFSClient.openInfo():
> if (locatedBlocks != null) {
> Iterator<LocatedBlock> oldIter = locatedBlocks.getLocatedBlocks().iterator();
> Iterator<LocatedBlock> newIter = newInfo.getLocatedBlocks().iterator();
> while (oldIter.hasNext() && newIter.hasNext()) {
> if (! oldIter.next().getBlock().equals(newIter.next().getBlock())) {
> throw new IOException("Blocklist for " + src + " has changed!");
> }
> }
> }
> Why we need compare old LocatedBlocks and new LocatedBlocks, and in what case it happen?
> Why not "this.locatedBlocks = newInfo" directly?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.