XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.8.1
    • 3.1.0, 3.0.1
    • fs/s3
    • None

    Description

      HADOOP-14535 added seek optimisation to wasb, but rather than require the caller to declare sequential vs random, it works out for itself.

      1. defaults to sequential, lazy seek
      2. 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.

      Attachments

        1. HADOOP-14965-001.patch
          8 kB
          Steve Loughran
        2. HADOOP-14965-002.patch
          7 kB
          Steve Loughran
        3. HADOOP-14965-003.patch
          7 kB
          Steve Loughran
        4. HADOOP-14965-004.patch
          7 kB
          Steve Loughran

        Issue Links

          Activity

            People

              stevel@apache.org Steve Loughran
              stevel@apache.org Steve Loughran
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: