[
https://issues.apache.org/jira/browse/HADOOP-16202?focusedWorklogId=758592&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-758592
]
ASF GitHub Bot logged work on HADOOP-16202:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 19/Apr/22 16:12
Start Date: 19/Apr/22 16:12
Worklog Time Spent: 10m
Work Description: steveloughran commented on code in PR #2584:
URL: https://github.com/apache/hadoop/pull/2584#discussion_r853253420
##########
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/Constants.java:
##########
@@ -602,37 +603,60 @@ private Constants() {
public static final String READAHEAD_RANGE = "fs.s3a.readahead.range";
public static final long DEFAULT_READAHEAD_RANGE = 64 * 1024;
+ /**
+ * The threshold at which drain operations switch
+ * to being asynchronous with the schedule/wait overhead
+ * compared to synchronous.
+ * Value: {@value}
+ */
+ public static final String ASYNC_DRAIN_THRESHOLD =
"fs.s3a.input.async.drain.threshold";
+
+ /**
+ * This is a number based purely on experimentation in
+ * {@code ITestS3AInputStreamPerformance}.
+ * Value: {@value}
+ */
+ public static final int DEFAULT_ASYNC_DRAIN_THRESHOLD = 16_000;
+
/**
* Which input strategy to use for buffering, seeking and similar when
* reading data.
* Value: {@value}
*/
- @InterfaceStability.Unstable
public static final String INPUT_FADVISE =
"fs.s3a.experimental.input.fadvise";
+ /**
+ * The default value for this FS.
+ * Which for S3A, is adaptive.
+ * Value: {@value}
+ */
+ public static final String INPUT_FADV_DEFAULT =
+ Options.OpenFileOptions.FS_OPTION_OPENFILE_READ_POLICY_DEFAULT;
+
/**
* General input. Some seeks, some reads.
+ * The policy name "default" is standard across different stores,
+ * and should be preferred.
* Value: {@value}
*/
- @InterfaceStability.Unstable
public static final String INPUT_FADV_NORMAL = "normal";
/**
* Optimized for sequential access.
* Value: {@value}
*/
- @InterfaceStability.Unstable
- public static final String INPUT_FADV_SEQUENTIAL = "sequential";
+ public static final String INPUT_FADV_SEQUENTIAL =
+ Options.OpenFileOptions.FS_OPTION_OPENFILE_READ_POLICY_SEQUENTIAL;
Review Comment:
good idea. will do.
Issue Time Tracking
-------------------
Worklog Id: (was: 758592)
Time Spent: 20h 20m (was: 20h 10m)
> Enhance openFile() for better read performance against object stores
> ---------------------------------------------------------------------
>
> Key: HADOOP-16202
> URL: https://issues.apache.org/jira/browse/HADOOP-16202
> Project: Hadoop Common
> Issue Type: Bug
> Components: fs, fs/s3, tools/distcp
> Affects Versions: 3.3.0
> Reporter: Steve Loughran
> Assignee: Steve Loughran
> Priority: Major
> Labels: pull-request-available
> Time Spent: 20h 20m
> Remaining Estimate: 0h
>
> The {{openFile()}} builder API lets us add new options when reading a file
> Add an option {{"fs.s3a.open.option.length"}} which takes a long and allows
> the length of the file to be declared. If set, *no check for the existence of
> the file is issued when opening the file*
> Also: withFileStatus() to take any FileStatus implementation, rather than
> only S3AFileStatus -and not check that the path matches the path being
> opened. Needed to support viewFS-style wrapping and mounting.
> and Adopt where appropriate to stop clusters with S3A reads switched to
> random IO from killing download/localization
> * fs shell copyToLocal
> * distcp
> * IOUtils.copy
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]