You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[ENH]: Add Rust task client and execution operators (#5686)
## Description of changes
This change is second in a series of changes to implement the TaskRunner. This PR does the actual running of tasks and makes the required modifications to the Compaction operators for this to work.
- Improvements & Bug fixes
- New functionality
- Added `TaskUuid`, `NonceUuid`, and `JobUuid` types to work alongside `CollectionUuid` in the compactor code.
- Created new operators for task execution:
- `PrepareTaskOperator`: Prepares a task for execution. Resolves a taskuuid to a Task object. Updates `next_nonce` if needed.
- `ExecuteTaskOperator`: Executes task logic on input records
- `FinishTaskOperator`: Updates task state after execution
- Added `TaskExecutor` trait and `CountTask` implementation
- Enhanced `GetCollectionAndSegmentsOperator` to fetch both input and output collections
- Updated `RegisterOperator` to handle task-based compactions
## Test plan
- [ ] Tests pass locally with `pytest` for python, `yarn test` for js, `cargo test` for rust
## Migration plan
No migrations needed. The changes maintain backward compatibility with existing code paths while adding new functionality for task execution.
## Observability plan
## Documentation Changes
No user-facing API changes requiring documentation updates.
0 commit comments