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
The current runtime mixes several concerns that have different performance and correctness requirements.
In particular:
forced shutdown should not depend on ordinary control backlog
node-local deferred work should not create unnecessary global contention
wakeup-style scheduling and delayed pdata resume are different behaviors and should not share the same overloaded mechanism
the runtime should remain robust under heavy Ack/Nack traffic in a thread-per-core, single-threaded async model
Durable and batch processors use the DelayedData mechanism in a roundabout way to implement a wake-up mechanism. Points 2 and 3 are intended to address this gap.
That proposal raises useful points around shutdown orchestration and hot-path simplification. After PR6, I will evaluate whether shutdown should evolve toward an engine-driven two-phase model that further simplifies ProcessorInbox / ExporterInbox.
Pre-filing checklist
Component(s)
Rust OTAP dataflow (rust/otap-dataflow/)
Objective
This issue describes a multi-step plan to improve node control delivery, inbox behavior, node-local wakeups, and local delayed resume.
A series of PRs will incrementally move the engine in the direction described here.
This series solves #2431 and prepares for #2432, #2433, #2424, and #2427.
Rationale
The current runtime mixes several concerns that have different performance and correctness requirements.
In particular:
Durable and batch processors use the DelayedData mechanism in a roundabout way to implement a wake-up mechanism. Points 2 and 3 are intended to address this gap.
Scope
Planned PR stack:
Acceptance Criteria
Dependencies or Blockers
#2431
Solved by PR6, with PR1 providing the standalone control-channel design that PR6 integrates into the engine.
Additional Context
There is also a separate channel/shutdown redesign proposal here https://github.com/gouslu/otel-arrow/blob/gouslu/channel-redesign/rust/otap-dataflow/docs/channel-redesign.md
That proposal raises useful points around shutdown orchestration and hot-path simplification. After PR6, I will evaluate whether shutdown should evolve toward an engine-driven two-phase model that further simplifies ProcessorInbox / ExporterInbox.