Skip to content

vortex-datafusion v2 scan should preserve ordered splits and enforce fetch across splits #10056

Description

@gatesn

VortexDataSource::open consumes DataSourceScan::partitions() with try_flatten_unordered even when ScanRequest.ordered is true. It also forwards fetch as ScanRequest.limit without enforcing the limit across partition output.

A DataSource should be able to expose independent partitions in a deterministic order. When ordering is requested, v2 should emit their results in partition order. Otherwise, it should retain concurrent consumption. V2 should enforce fetch across all returned batches, slice the final batch if needed, and stop polling once the limit is met.

Please clarify the ScanRequest.limit contract so sources do not need their own cross-partition coordinator. Add a regression test with a delayed first partition that checks ordered output and a global fetch = 1.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions