hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Suresh Srinivas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-4403) DFSClient can infer checksum type when not provided by reading first byte
Date Tue, 15 Jan 2013 22:48:13 GMT

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

Suresh Srinivas commented on HDFS-4403:
---------------------------------------

bq. Any new server always sets the checksum type explicitly, regardless of what type it is.
It's only the old (pre-HDFS-3177) servers that wouldn't set one.
Given that the field is optional, assuming that new server always sets the checksum type explicitly
is an incorrect assumption. Only way to ensure that is by making the field required, right?
One cannot prevent a future change where checksum type is not set (unless you or I review
that change).
                
> DFSClient can infer checksum type when not provided by reading first byte
> -------------------------------------------------------------------------
>
>                 Key: HDFS-4403
>                 URL: https://issues.apache.org/jira/browse/HDFS-4403
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs-client
>    Affects Versions: 2.0.2-alpha
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Minor
>         Attachments: hdfs-4403.txt
>
>
> HDFS-3177 added the checksum type to OpBlockChecksumResponseProto, but the new protobuf
field is optional, with a default of CRC32. This means that this API, when used against an
older cluster (like earlier 0.23 releases) will falsely return CRC32 even if that cluster
has written files with CRC32C. This can cause issues for distcp, for example.
> Instead of defaulting the protobuf field to CRC32, we can leave it with no default, and
if the OpBlockChecksumResponseProto has no checksum type set, the client can send OP_READ_BLOCK
to read the first byte of the block, then grab the checksum type out of that response (which
has always been present)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message