[ 
https://issues.apache.org/jira/browse/HADOOP-18107?focusedWorklogId=768942&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-768942
 ]

ASF GitHub Bot logged work on HADOOP-18107:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 11/May/22 09:43
            Start Date: 11/May/22 09:43
    Worklog Time Spent: 10m 
      Work Description: steveloughran commented on code in PR #4273:
URL: https://github.com/apache/hadoop/pull/4273#discussion_r870087061


##########
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/ContractTestUtils.java:
##########
@@ -1102,7 +1101,15 @@ public static void validateFileContent(byte[] concat, 
byte[][] bytes) {
                 mismatch);
   }
 
-  public static void validateVectoredReadResult(List<FileRange> fileRanges, 
byte[] DATASET)
+  /**
+   * Utility to validate vectored read results.
+   * @param fileRanges input ranges.
+   * @param originalData original data.
+   * @throws ExecutionException any exception.

Review Comment:
   the future io stuff will unwrap execution exceptions. so remove the 
catch/fail there, just let it all get passed up to the test case



##########
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/ContractTestUtils.java:
##########
@@ -1115,8 +1122,9 @@ public static void 
validateVectoredReadResult(List<FileRange> fileRanges, byte[]
     for (FileRange res : fileRanges) {
       CompletableFuture<ByteBuffer> data = res.getData();
       try {
-        ByteBuffer buffer = FutureIOSupport.awaitFuture(data);
-        assertDatasetEquals((int) res.getOffset(), "vecRead", buffer, 
res.getLength(), DATASET);
+        ByteBuffer buffer = FutureIO.awaitFuture(data);
+        assertDatasetEquals((int) res.getOffset(), "vecRead",
+                buffer, res.getLength(), originalData);
       } catch (Exception ex) {
         LOG.error("Exception while running vectored read ", ex);

Review Comment:
   remove this clause and just throw up all exceptions. look at `awaitFuture` 
to see what it raises



##########
hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/scale/AbstractSTestS3AHugeFiles.java:
##########
@@ -456,7 +456,7 @@ public void test_040_PositionedReadHugeFile() throws 
Throwable {
   }
 
   @Test
-  public void test_045_VectoredIOHugeFile() throws Throwable {
+  public void test_045_VectoredIoHugeFile() throws Throwable {

Review Comment:
   capital IO is OK here; your choice



##########
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/ContractTestUtils.java:
##########
@@ -1115,8 +1122,9 @@ public static void 
validateVectoredReadResult(List<FileRange> fileRanges, byte[]
     for (FileRange res : fileRanges) {
       CompletableFuture<ByteBuffer> data = res.getData();
       try {
-        ByteBuffer buffer = FutureIOSupport.awaitFuture(data);
-        assertDatasetEquals((int) res.getOffset(), "vecRead", buffer, 
res.getLength(), DATASET);
+        ByteBuffer buffer = FutureIO.awaitFuture(data);

Review Comment:
   add a timeout here for better failure messages on a timeout.





Issue Time Tracking
-------------------

    Worklog Id:     (was: 768942)
    Time Spent: 50m  (was: 40m)

> Vectored IO support for large S3 files. 
> ----------------------------------------
>
>                 Key: HADOOP-18107
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18107
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>            Reporter: Mukund Thakur
>            Assignee: Mukund Thakur
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> This effort would mostly be adding more tests for large files under scale 
> tests and see if any new issue surfaces. 



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

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

Reply via email to