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

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

steveloughran commented on code in PR #5065:
URL: https://github.com/apache/hadoop/pull/5065#discussion_r1002684035


##########
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/DecodingState.java:
##########
@@ -39,7 +39,7 @@ <T> void checkParameters(T[] inputs, int[] erasedIndexes,
                            T[] outputs) {
     if (inputs.length != decoder.getNumParityUnits() +
         decoder.getNumDataUnits()) {
-      throw new IllegalArgumentException("Invalid inputs length");
+      throw new HadoopIllegalArgumentException("Invalid inputs length");

Review Comment:
   implicit changes in public api; revert



##########
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/erasurecode/rawcoder/TestDecodingValidator.java:
##########
@@ -123,7 +125,12 @@ protected void performTestValidate(int chunkSize) {
     }
 
     // decode
-    backupAndEraseChunks(clonedDataChunks, parityChunks);
+    try {

Review Comment:
   use LambdaTestUtils.intercept() for *all* bits of test code which validates 
expected exceptions



##########
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/erasurecode/TestCoderBase.java:
##########
@@ -224,13 +225,25 @@ protected ECChunk[] backupAndEraseChunks(ECChunk[] 
dataChunks,
     int idx = 0;
 
     for (int i = 0; i < erasedDataIndexes.length; i++) {
-      toEraseChunks[idx ++] = dataChunks[erasedDataIndexes[i]];
-      dataChunks[erasedDataIndexes[i]] = null;
+      if (erasedDataIndexes[i] < dataChunks.length) {
+        toEraseChunks[idx ++] = dataChunks[erasedDataIndexes[i]];
+        dataChunks[erasedDataIndexes[i]] = null;
+      } else {
+        throw new HadoopIllegalArgumentException(

Review Comment:
   ditto



##########
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/erasurecode/rawcoder/TestDecodingValidator.java:
##########
@@ -210,7 +217,12 @@ public void testValidateWithBadDecoding() throws 
IOException {
     }
 
     // decode
-    backupAndEraseChunks(clonedDataChunks, parityChunks);
+    try {

Review Comment:
   ditto





> ArrayIndexOutOfBoundsException in TestCoderBase.java
> ----------------------------------------------------
>
>                 Key: HADOOP-18505
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18505
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 3.3.4
>            Reporter: FuzzingTeam
>            Priority: Major
>              Labels: pull-request-available
>
> The code throws an unhandled ArrayIndexOutOfBoundsException in the method 
> _backupAndEraseChunks_ of _TestCoderBase_ class when it tries to access the 
> out of bound indexes in _dataChunks_ and _parityChunks_ array.



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