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

Yongjun Zhang commented on HADOOP-14965:
----------------------------------------

Hi [[email protected]] ,

Thanks for the work here. We applied it and noticed significant S3 access 
number increase, which is quite some extra cost. Wonder if we should introduce 
a new mode for this instead of changing the default behavior of Normal. See 
[https://linux.die.net/man/2/fadvise:]

ADV_NORMAL No special treatment.

FADV_RANDOM Expect page references in random order.

FADV_SEQUENTIAL Expect page references in sequential order.

Thanks.

> s3a input stream "normal" fadvise mode to be adaptive
> -----------------------------------------------------
>
>                 Key: HADOOP-14965
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14965
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>    Affects Versions: 2.8.1
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Major
>             Fix For: 3.1.0, 3.0.1
>
>         Attachments: HADOOP-14965-001.patch, HADOOP-14965-002.patch, 
> HADOOP-14965-003.patch, HADOOP-14965-004.patch
>
>
> HADOOP-14535 added seek optimisation to wasb, but rather than require the 
> caller to declare sequential vs random, it works out for itself.
> # defaults to sequential, lazy seek
> # if the caller ever seeks backwards, switches to random IO.
> This means that on the use pattern of columnar stores: of go to end of file, 
> read summary, then go to columns and work forwards, will switch to random IO 
> after that first seek back (cost: one aborted HTTP connection)/.
> Where this should benefit the most is in downstream apps where you are 
> working with different data sources in the same object store/running of the 
> same app config, but have different read patterns. I'm seeing exactly this in 
> some of my spark tests, where it's near impossible to set things up so that 
> .gz files are read sequentially, but ORC data is read in random IO
> I propose the "normal" fadvise => adaptive, sequential==sequential always, 
> random => random from the outset.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to