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.
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:
Additional Context
Source reference. OpenDAL API inventory was checked at
b6cf44f7b8a1523409e0e998e478c996ac970f03.