You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "daimin (Jira)" <ji...@apache.org> on 2021/10/13 07:44:00 UTC

[jira] [Created] (HDFS-16272) Int overflow in computing safe length during EC block recovery

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-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org