Skip to content

new feature: expose core reader tuning options in Java bindings #8252

Description

@Xuanwo

Feature Description

Expose the existing core reader controls through the Java reader/stream construction API so applications can use native bounded concurrency and buffering without implementing their own Range scheduler.

Problem and Solution

Java ReadOptions currently contains only offset and length. WriteOptions already exposes write tuning. This is a binding capability gap, not evidence that the core lacks concurrent reading.

The Java options work is already tracked broadly in #6226. This issue isolates reader construction/tuning as an actionable child of that migration and #8251. Preserve the distinction between per-read range options and reader execution options; adding every field to one options class is not a design requirement.

Acceptance criteria:

  • Inventory and map supported core reader controls, including concurrency, chunking and applicable prefetch/gap behavior; document unsupported controls explicitly.
  • Preserve default unchunked streaming and existing range behavior.
  • Verify options reach the core and have documented units and resource implications.
  • Exercise the natural stream API against real storage. Do not use a shared hand-written Range adapter to hide the missing API or suppress SDK capabilities.
  • Keep internal concurrency distinct from the number of application transfers.

Additional Context

Source reference. OpenDAL API inventory was checked at b6cf44f7b8a1523409e0e998e478c996ac970f03.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions