hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Milan Desai (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-7647) DatanodeManager.sortLocatedBlocks() sorts DatanodeInfos but not StorageIDs
Date Thu, 22 Jan 2015 03:20:35 GMT

     [ https://issues.apache.org/jira/browse/HDFS-7647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Milan Desai updated HDFS-7647:
------------------------------
    Attachment: HDFS-7647-2.patch

Attaching a patch that creates a class, DatanodeInfosWithStorage, that extends DatanodeInfo
but contains additional fields for StorageID and StorageType. LocatedBlock's public interface
was kept the same, and the wire protocol should not be affected. By extending DatanodeInfo,
as opposed to creating a wrapper class, I am able to avoid changing any code in DatanodeManager.sortLocatedBlocks
and NetworkTopology.sortByDistance; the only changes are in LocatedBlock.

> DatanodeManager.sortLocatedBlocks() sorts DatanodeInfos but not StorageIDs
> --------------------------------------------------------------------------
>
>                 Key: HDFS-7647
>                 URL: https://issues.apache.org/jira/browse/HDFS-7647
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.6.0
>            Reporter: Milan Desai
>            Assignee: Milan Desai
>         Attachments: HDFS-7647-2.patch, HDFS-7647.patch
>
>
> DatanodeManager.sortLocatedBlocks() sorts the array of DatanodeInfos inside each LocatedBlock,
but does not touch the array of StorageIDs and StorageTypes. As a result, the DatanodeInfos
and StorageIDs/StorageTypes are mismatched. The method is called by FSNamesystem.getBlockLocations(),
so the client will not know which StorageID/Type corresponds to which DatanodeInfo.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message