Skip to content

Decouple the control plane from the data plane on receive queues#8892

Draft
GGraziadei wants to merge 1 commit into
apache:masterfrom
GGraziadei:8816-decouple-control-data-plane-recvqueue
Draft

Decouple the control plane from the data plane on receive queues#8892
GGraziadei wants to merge 1 commit into
apache:masterfrom
GGraziadei:8816-decouple-control-data-plane-recvqueue

Conversation

@GGraziadei

Copy link
Copy Markdown
Member

What is the purpose of the change

Fixes #8816

A Storm executor multiplexes two fundamentally different kinds of traffic onto its single inbound JCQueue:

  • Data plane: the actual business tuples flowing between components. High volume, bursty, and the
    traffic that backpressure is meant to throttle.
  • Control plane: low-volume, coordination tuples that keep the topology healthy and responsive.

This PR introduces an optional control receive queue. When enabled, this dedicated queue is prioritized and completely drained before the standard data queue is processed. This ensures that critical coordination traffic bypasses data plane bottlenecks.
For additional context and technical details, please refer to the discussion inside the issue thread.

How was the change tested

  • Unit tests
  • Benchmarcks (a report will be available in the discussion asap)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Decouple the control plane (system streams) from the data plane on executor receive queues

1 participant