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

ASF GitHub Bot commented on HADOOP-18490:
-----------------------------------------

FuzzingTeam commented on PR #5001:
URL: https://github.com/apache/hadoop/pull/5001#issuecomment-1278063976

   Thanks, @ZanderXu, for the review. 
   
   I researched if the XORRawDecoder can decode multiple erased indexes, and I 
found that XORRawDecoder can generate only 1 parity bit, implying the erased 
indexes to be either 1 or 0.
   
   One thing that surprises me is how the test method testValidate() passes on 
the newly added value set (numParityUnits = 3). The passing of the method means 
that XORRawDecoder could decode multiple erased indexes, which contradicts the 
actual statement.
   
   I propose that we could either investigate and fix the testValidate() method 
or add the below check to run before each test: 
   if (encoderFactoryClass == XORRawErasureCoderFactory.class) {
         Assume.assumeTrue(numParityUnits == 1);
   }




> The check logic for erasedIndexes in XORRawDecoder is buggy
> -----------------------------------------------------------
>
>                 Key: HADOOP-18490
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18490
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 3.3.4
>            Reporter: FuzzingTeam
>            Priority: Major
>              Labels: pull-request-available
>
> In the method _doDecode_ of class {_}XORRawDecoder{_}, the code does not 
> handle all the erased and null marked locations in the array ({_}inputs{_}) 
> but only skips the first erased location ({_}erasedIndexes[0]{_}). The 
> missing handling results in an unhandled NullPointerException.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to