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

Todd Lipcon updated HDFS-877:
-----------------------------

    Attachment: hdfs-877.txt

It actually seems like HDFS-734 is different. For me, TestDatanodeBlockScanner 
is passing on a fresh branch-0.20 checkout now that HDFS-127 has been reverted. 
Can you confirm? If so, we can mark that one as fixed.

However, I backported the new unit test from this JIRA, and discovered that the 
gotEOSBefore bug is present in branch-0.20. However, this bug doesn't really 
cause a problem, since it only occurs when doing unaligned reads. If your read 
is unaligned, then reporting CHECKSUM_OK is a no-op anyway, and it doesn't 
really matter. Agree?

Attaching new patch against trunk with fixed whitespace and logging.

> Client-driven block verification not functioning
> ------------------------------------------------
>
>                 Key: HDFS-877
>                 URL: https://issues.apache.org/jira/browse/HDFS-877
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs client, test
>    Affects Versions: 0.20.1, 0.21.0, 0.22.0
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Blocker
>         Attachments: hdfs-877.txt, hdfs-877.txt, hdfs-877.txt, hdfs-877.txt, 
> hdfs-877.txt
>
>
> This is actually the reason for HDFS-734 (TestDatanodeBlockScanner timing 
> out). The issue is that DFSInputStream relies on readChunk being called one 
> last time at the end of the file in order to receive the 
> lastPacketInBlock=true packet from the DN. However, DFSInputStream.read 
> checks pos < getFileLength() before issuing the read. Thus gotEOS never 
> shifts to true and checksumOk() is never called.

-- 
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