[
https://issues.apache.org/jira/browse/HADOOP-15245?focusedWorklogId=742025&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-742025
]
ASF GitHub Bot logged work on HADOOP-15245:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 16/Mar/22 04:50
Start Date: 16/Mar/22 04:50
Worklog Time Spent: 10m
Work Description: mehakmeet commented on a change in pull request #3927:
URL: https://github.com/apache/hadoop/pull/3927#discussion_r827623635
##########
File path:
hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/scale/ITestS3AInputStreamPerformance.java
##########
@@ -467,6 +467,35 @@ public void testRandomIORandomPolicy() throws Throwable {
0, streamStatistics.getAborted());
}
+ @Test
+ public void testSkip() throws Throwable {
Review comment:
Make a file using `ContractTestUtils.dataset()`, with the contents as
alphabet characters like `ContractTestUtils.dataset(256, 'a', 'z');`. This
would give you a file with 256 characters in a loop of alphabet from 'a' to
'z'. Now Open this file, seek some position for eg 100. Then skip 200 bytes.
Assert what the number of bytes skipped was, and read the file after skipping.
similarly, you can skip after some bytes then read the file and assert that the
file read after skipping is what we expect the content to be.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 742025)
Time Spent: 3h 20m (was: 3h 10m)
> S3AInputStream.skip() to use lazy seek
> --------------------------------------
>
> Key: HADOOP-15245
> URL: https://issues.apache.org/jira/browse/HADOOP-15245
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: fs/s3
> Affects Versions: 3.1.0
> Reporter: Steve Loughran
> Priority: Major
> Labels: pull-request-available
> Time Spent: 3h 20m
> Remaining Estimate: 0h
>
> the default skip() does a read and discard of all bytes, no matter how far
> ahead the skip is. This is very inefficient if the skip() is being done on
> S3A random IO, though exactly what to do when in sequential mode.
> Proposed:
> * add an optimized version of S3AInputStream.skip() which does a lazy seek,
> which itself will decided when to skip() vs issue a new GET.
> * add some more instrumentation to measure how often this gets used
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]