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

Xiao Chen commented on HDFS-10372:
----------------------------------

Thanks for the contribution [~shahrs87] and [~kihwal]. I linked this to 
HDFS-10260.
bq. I thought that LocatedBlock#getLocations() returns an array of DatanodeInfo 
but now I realized that it returns an array of DatandeStorageInfo (which is 
subclass of DatanodeInfo).
Sorry I don't understand this statement. {{DatanodeID}} appears to be a 
superclass of {{DatanodeInfo}}, and has the {{getXferAddr}} method. 
{{DatanodeStorageInfo}} is not a subclass of of the above. Fix makes sense to 
me though (verifying the xferAddr).

I guess you meant to say {{DatanodeID#toString}} (which calls 
{{getXferAddr()}}) overrides {{DatanodeInfo#toString}} (which doesn't)?

> Fix for failing TestFsDatasetImpl#testCleanShutdownOfVolume
> -----------------------------------------------------------
>
>                 Key: HDFS-10372
>                 URL: https://issues.apache.org/jira/browse/HDFS-10372
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: test
>    Affects Versions: 2.7.3
>            Reporter: Rushabh S Shah
>            Assignee: Rushabh S Shah
>         Attachments: HDFS-10372.patch
>
>
> TestFsDatasetImpl#testCleanShutdownOfVolume fails very often.
> We added more debug information in HDFS-10260 to find out why this test is 
> failing.
> Now I think I know the root cause of failure.
> I thought that {{LocatedBlock#getLocations()}} returns an array of 
> DatanodeInfo but now I realized that it returns an array of 
> DatandeStorageInfo (which is subclass of DatanodeInfo).
> In the test I intended to check whether the exception contains the xfer 
> address of the DatanodeInfo. Since {{DatanodeInfo#toString()}} method returns 
> the xfer address, I checked whether exception contains 
> {{DatanodeInfo#toString}} or not.
> But since  {{LocatedBlock#getLocations()}} returned an array of 
> DatanodeStorageInfo, it has storage info in the toString() implementation.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to