[RouteOrch] Fix notification pipeline latency regression in ResponsePublisher#4389
Draft
tirupatihemanth wants to merge 2 commits intosonic-net:masterfrom
Draft
[RouteOrch] Fix notification pipeline latency regression in ResponsePublisher#4389tirupatihemanth wants to merge 2 commits intosonic-net:masterfrom
tirupatihemanth wants to merge 2 commits intosonic-net:masterfrom
Conversation
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
dgsudharsan
previously approved these changes
Mar 25, 2026
There was a problem hiding this comment.
Pull request overview
This PR adjusts ResponsePublisher’s Redis notification pipeline configuration to eliminate added notification latency in the RouteOrch → fpmsyncd response/offload confirmation path.
Changes:
- Set the Redis pipeline batch size for the notification pipeline (
m_ntf_pipe) to1to force immediate flush behavior. - Keep the DB write pipeline (
m_db_pipe) at the default batch size to preserve write throughput optimizations.
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
9c58a2b to
a23f000
Compare
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Signed-off-by: Hemanth Kumar Tirupati <[email protected]>
a23f000 to
1d14d25
Compare
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
/azpw run |
Collaborator
|
Retrying failed(or canceled) jobs... |
Collaborator
|
Retrying failed(or canceled) stages in build 1071252: ✅Stage BuildAsan:
|
dgsudharsan
approved these changes
Mar 25, 2026
vivekrnv
approved these changes
Mar 25, 2026
Collaborator
|
/azp run |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why I did it
PR #4172 changed ResponsePublisher pipelines from batch size 1 to 128, improving bulk throughput but causing route offload notifications to stay buffered until OrchDaemon::flush() (up to 1s). With suppress-fib-pending enabled, this delays the FIB offload reply to zebra, causing BGP to hold suppressed routes longer and failing test_bgp_update_timer_single_route.
What I did
Added m_publisher.flush() in RouteOrch::doTask() after the post-processing loop. This flushes all buffered notifications once per batch -- immediately after route processing, not on the 1s periodic timer. Bulk batching from PR #4172 is preserved since it's one flush per batch, not per route.
How I verified it