Daryn Sharp created HDFS-8498:
---------------------------------

             Summary: 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: namenode
    Affects Versions: 2.5.0
            Reporter: Daryn Sharp
            Assignee: Daryn Sharp
            Priority: Critical


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.4#6332)

Reply via email to