Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: compile and execute partitioned query #806

Merged
merged 16 commits into from
Oct 17, 2023
Merged

Conversation

bjchambers
Copy link
Collaborator

@bjchambers bjchambers commented Oct 11, 2023

The main change here is having the sparrow-execution tests compile
from a logical plan, created within a session, and execute things.

Changes Include

  • Fix naming field_ref vs. fieldref (matches Python)
  • Tweak pipeline scheduling so that only transforms are grouped together.
  • Tweak pipelines so that each may output to multiple consumers
  • Introduces a SourceTasks so we can poll all inputs on a single
    tokio task.
  • Fixes to how the scheduler detects "completion" (empty queue isn't
    sufficient).
  • Add a "monitor" to detect failing threads ASAP
  • Add a "worker idle" so that workers with no tasks sleep.

@cla-bot cla-bot bot added the cla-signed Set when all authors of a PR have signed our CLA label Oct 11, 2023
The main change here is having the `sparrow-execution` tests compile
from a logical plan, created within a session, and execute things.

Changes Include

- Fix naming `field_ref` vs. `fieldref` (matches Python)
- Tweak pipeline scheduling so that only transforms are grouped together.
- Tweak pipelines so that each may output to multiple consumers
- Introduces a `SourceTasks` so we can poll all inputs on a single
  tokio task.
- Fixes to how the scheduler detects "completion" (empty queue isn't
  sufficient).

TODO

- [x] Actually execute the compiled query
- [x] Connect to sources
- [x] Move compilation / execution into session.
- [x] Look at compiling out `tracing::trace` level statements.
- [x] Look at running the query in the sessions tokio runtime
- [ ] Move logical expr building to session (out of sparrow-logical)
- [ ] Replace `ScalarValue` with arrows scalar? Literal too?
- [ ] Look at suspending workers when queue is empty / waking on push
- [ ] Look at a trait for logical functions (type-checking, compilation)
crates/sparrow-backend/src/logical_to_physical.rs Outdated Show resolved Hide resolved
crates/sparrow-backend/src/logical_to_physical.rs Outdated Show resolved Hide resolved
crates/sparrow-execution/src/lib.rs Show resolved Hide resolved
crates/sparrow-batch/src/batch.rs Show resolved Hide resolved
crates/sparrow-execution/src/lib.rs Outdated Show resolved Hide resolved
crates/sparrow-execution/src/lib.rs Outdated Show resolved Hide resolved
crates/sparrow-execution/src/lib.rs Show resolved Hide resolved
@bjchambers bjchambers changed the title draft: feat: compile and execute partitioned query feat: compile and execute partitioned query Oct 17, 2023
@github-actions github-actions bot added the enhancement New feature or request label Oct 17, 2023
@bjchambers bjchambers marked this pull request as ready for review October 17, 2023 18:41
crates/sparrow-execution/src/lib.rs Outdated Show resolved Hide resolved
crates/sparrow-execution/src/lib.rs Show resolved Hide resolved
crates/sparrow-physical/src/step.rs Show resolved Hide resolved
crates/sparrow-scheduler/src/worker.rs Outdated Show resolved Hide resolved
crates/sparrow-scheduler/src/worker.rs Outdated Show resolved Hide resolved
crates/sparrow-scheduler/src/worker_pool.rs Outdated Show resolved Hide resolved
crates/sparrow-scheduler/src/worker_pool.rs Outdated Show resolved Hide resolved
@bjchambers bjchambers added this pull request to the merge queue Oct 17, 2023
Merged via the queue into main with commit 5350f4e Oct 17, 2023
13 checks passed
@bjchambers bjchambers deleted the partitioned-execution branch October 17, 2023 21:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-signed Set when all authors of a PR have signed our CLA enhancement New feature or request sparrow
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants