[
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]