[
https://issues.apache.org/jira/browse/HDFS-8498?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Konstantin Shvachko updated HDFS-8498:
--------------------------------------
Attachment: HDFS-8498-branch-2.7.002.patch
Attaching latest backport to branch-2.7 patch from HDFS-11732.
> Blocks can be committed with wrong size
> ---------------------------------------
>
> Key: HDFS-8498
> URL: https://issues.apache.org/jira/browse/HDFS-8498
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: hdfs-client
> Affects Versions: 2.5.0
> Reporter: Daryn Sharp
> Assignee: Jing Zhao
> Priority: Critical
> Fix For: 2.9.0, 2.7.4, 3.0.0-alpha3, 2.8.1
>
> Attachments: HDFS-8498.000.patch, HDFS-8498.001.patch,
> HDFS-8498.branch-2.001.patch, HDFS-8498.branch-2.7.001.patch,
> HDFS-8498-branch-2.7.002.patch, HDFS-8498.branch-2.patch
>
>
> When an IBR for a UC block arrives, the NN updates the expected location's
> block and replica state _only_ if it's on an unexpected storage for an
> expected DN. If it's for an expected storage, only the genstamp is updated.
> When the block is committed, and the expected locations are verified, only
> the genstamp is checked. The size is not checked but it wasn't updated in
> the expected locations anyway.
> A faulty client may misreport the size when committing the block. The block
> is effectively corrupted. If the NN issues replications, the received IBR is
> considered corrupt, the NN invalidates the block, immediately issues another
> replication. The NN eventually realizes all the original replicas are
> corrupt after full BRs are received from the original DNs.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]