Skip to content

Fix Consumer priority propagation and queue starvation - #157

Open
skshih wants to merge 1 commit into
edge-core:202311.Xfrom
skshih:fix-swss-202311x
Open

Fix Consumer priority propagation and queue starvation#157
skshih wants to merge 1 commit into
edge-core:202311.Xfrom
skshih:fix-swss-202311x

Conversation

@skshih

@skshih skshih commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

What I did

  • Propagated the configured priority to the Consumer Executor in
    Orch::addConsumer().
  • Set the IntfMgr STATE_PORT and STATE_LAG Consumer priorities to
    100 and 200 respectively.
  • Drained stale selectable notifications when pops() returns no
    entries.
  • Added unit tests for Executor priority propagation, queue-counter
    draining, and priority-based Select dispatch ordering.

Why I did it

The priority passed to the Consumer table was not propagated to the
outer Consumer Executor. As a result, the Executor retained the
default priority of 0.

In addition, batched key processing could leave the RedisSelect
notification counter artificially inflated. This kept the Consumer in
the ready queue and could starve lower-priority events.

How I verified it

  • Resolved the 202311.X cherry-pick conflicts.
  • Verified that no conflict markers remain.
  • git diff --check passed.

…starvation

Propagate the requested priority to the Consumer Executor in
Orch::addConsumer().

Set the IntfMgr STATE_PORT and STATE_LAG consumer priorities to 100
and 200 respectively.

Drain stale selectable notifications when pops() returns no entries
while preserving the 202311.X batch-processing behavior.

Add unit tests for Executor priority propagation, inflated queue
draining, and priority-based Select dispatch ordering.

The BGP neighbor priority change is not backported because 202311.X
does not contain the corresponding object-tracking consumer.
@skshih skshih changed the title JIRA-SONIC-13985: Fix Consumer priority propagation and queue starvation Fix Consumer priority propagation and queue starvation Jul 27, 2026
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.

1 participant