daimin created HDFS-16272:
-----------------------------

             Summary: Int overflow in computing safe length during EC block 
recovery
                 Key: HDFS-16272
                 URL: https://issues.apache.org/jira/browse/HDFS-16272
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: 3.1.1
    Affects Versions: 3.3.1, 3.3.0
         Environment: Cluster settings: EC RS-8-2-256k, Block Size 1GiB.
            Reporter: daimin


There exists an int overflow problem in StripedBlockUtil#getSafeLength, which 
will produce a negative or zero length:
1. With negative length, it fails to the later >=0 check, and will crash the 
BlockRecoveryWorker thread, which make the lease recovery operation unable to 
finish.
2. With zero length, it passes the check, and directly truncate the block size 
to zero, leads to data lossing.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to