[syncd] Remove syncd redis objects if using ZMQ notifications#1694
Merged
saiarcot895 merged 37 commits intosonic-net:masterfrom Jan 15, 2026
Merged
[syncd] Remove syncd redis objects if using ZMQ notifications#1694saiarcot895 merged 37 commits intosonic-net:masterfrom
saiarcot895 merged 37 commits intosonic-net:masterfrom
Conversation
Signed-off-by: Connor Roos <croos@nvidia.com>
Signed-off-by: Connor Roos <croos@nvidia.com>
Signed-off-by: Connor Roos <croos@nvidia.com>
Signed-off-by: Connor Roos <croos@nvidia.com>
Since we no longer use redis in zmq_sync mode there is no buffer to sync Signed-off-by: Connor Roos <croos@nvidia.com>
Collaborator
|
/azp run |
|
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command. |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
d0df908 to
f252482
Compare
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
0ee1ea9 to
541ef03
Compare
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Signed-off-by: Connor Roos <croos@nvidia.com>
be9ca92 to
d945839
Compare
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
@prabhataravind I addressed the Copilot comments |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 23 out of 23 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Connor Roos <croos@nvidia.com>
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
|
Hi @saiarcot895, could you please review again? |
saiarcot895
approved these changes
Jan 15, 2026
Contributor
|
@saiarcot895 , please merge |
Contributor
|
@croos12 , thanks for the PR |
Collaborator
|
Cherry-pick PR to msft-202506: Azure/sonic-sairedis.msft#100 |
Collaborator
|
Cherry-pick PR to 202511: #1738 |
croos12
added a commit
to croos12/sonic-sairedis
that referenced
this pull request
Jan 15, 2026
…net#1694) * Remove syncd redis objects if using ZMQ notifications Signed-off-by: Connor Roos <croos@nvidia.com> * Remove trailing whitespace in RedisClient.cpp Signed-off-by: Connor Roos <croos@nvidia.com> * Ignore Syncd::applyView() if ZMQ if enabled Signed-off-by: Connor Roos <croos@nvidia.com> * Create empty applyview.log for unittest if ZMQ Signed-off-by: Connor Roos <croos@nvidia.com> * Remove zmq_sync buffer_pools tests Since we no longer use redis in zmq_sync mode there is no buffer to sync Signed-off-by: Connor Roos <croos@nvidia.com> * Set Redis entries to be created in vs ASIC Signed-off-by: Connor Roos <croos@nvidia.com> * Set default value and flag for is virtual switch Signed-off-by: Connor Roos <croos@nvidia.com> * Undo flag changes Signed-off-by: Connor Roos <croos@nvidia.com> * Switch to checking VendorSAI type Signed-off-by: Connor Roos <croos@nvidia.com> * Link with SAILIB Signed-off-by: Connor Roos <croos@nvidia.com> * Try to use profile map instead of vendorSai type Signed-off-by: Connor Roos <croos@nvidia.com> * Set test for disabled RedisClient Signed-off-by: Connor Roos <croos@nvidia.com> * Revert zmq_sync buffer_pool test removal Signed-off-by: Connor Roos <croos@nvidia.com> * Add isRedisDisabled method Makes redis disable more legible and adds methods to determine whether or not to create error logs Signed-off-by: Connor Roos <croos@nvidia.com> * Use dependency injection to disable Signed-off-by: Connor Roos <croos@nvidia.com> * Included RedisClient Header file Signed-off-by: Connor Roos <croos@nvidia.com> * Add one more missing #include Signed-off-by: Connor Roos <croos@nvidia.com> * Remove whitespace Signed-off-by: Connor Roos <croos@nvidia.com> * Address copilot comments Signed-off-by: Connor Roos <croos@nvidia.com> * Add getVidsForRids change to DisabledRedisClient Signed-off-by: Connor Roos <croos@nvidia.com> * Fix isRedisEnabled calls Signed-off-by: Connor Roos <croos@nvidia.com> * Fix whitespace Signed-off-by: Connor Roos <croos@nvidia.com> * Address Copilot comments for test Signed-off-by: Connor Roos <croos@nvidia.com> --------- Signed-off-by: Connor Roos <croos@nvidia.com> Co-authored-by: prabhataravind <108555774+prabhataravind@users.noreply.github.com> Co-authored-by: Longxiang Lyu <35479537+lolyu@users.noreply.github.com>
croos12
added a commit
to croos12/sonic-sairedis
that referenced
this pull request
Jan 15, 2026
…net#1694) * Remove syncd redis objects if using ZMQ notifications Signed-off-by: Connor Roos <croos@nvidia.com> * Remove trailing whitespace in RedisClient.cpp Signed-off-by: Connor Roos <croos@nvidia.com> * Ignore Syncd::applyView() if ZMQ if enabled Signed-off-by: Connor Roos <croos@nvidia.com> * Create empty applyview.log for unittest if ZMQ Signed-off-by: Connor Roos <croos@nvidia.com> * Remove zmq_sync buffer_pools tests Since we no longer use redis in zmq_sync mode there is no buffer to sync Signed-off-by: Connor Roos <croos@nvidia.com> * Set Redis entries to be created in vs ASIC Signed-off-by: Connor Roos <croos@nvidia.com> * Set default value and flag for is virtual switch Signed-off-by: Connor Roos <croos@nvidia.com> * Undo flag changes Signed-off-by: Connor Roos <croos@nvidia.com> * Switch to checking VendorSAI type Signed-off-by: Connor Roos <croos@nvidia.com> * Link with SAILIB Signed-off-by: Connor Roos <croos@nvidia.com> * Try to use profile map instead of vendorSai type Signed-off-by: Connor Roos <croos@nvidia.com> * Set test for disabled RedisClient Signed-off-by: Connor Roos <croos@nvidia.com> * Revert zmq_sync buffer_pool test removal Signed-off-by: Connor Roos <croos@nvidia.com> * Add isRedisDisabled method Makes redis disable more legible and adds methods to determine whether or not to create error logs Signed-off-by: Connor Roos <croos@nvidia.com> * Use dependency injection to disable Signed-off-by: Connor Roos <croos@nvidia.com> * Included RedisClient Header file Signed-off-by: Connor Roos <croos@nvidia.com> * Add one more missing #include Signed-off-by: Connor Roos <croos@nvidia.com> * Remove whitespace Signed-off-by: Connor Roos <croos@nvidia.com> * Address copilot comments Signed-off-by: Connor Roos <croos@nvidia.com> * Add getVidsForRids change to DisabledRedisClient Signed-off-by: Connor Roos <croos@nvidia.com> * Fix isRedisEnabled calls Signed-off-by: Connor Roos <croos@nvidia.com> * Fix whitespace Signed-off-by: Connor Roos <croos@nvidia.com> * Address Copilot comments for test Signed-off-by: Connor Roos <croos@nvidia.com> --------- Signed-off-by: Connor Roos <croos@nvidia.com> Co-authored-by: prabhataravind <108555774+prabhataravind@users.noreply.github.com> Co-authored-by: Longxiang Lyu <35479537+lolyu@users.noreply.github.com>
Collaborator
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.
Turns off creating entries in redis for syncd if ZMQ is enabled. This new behavior only occurs when ZMQ_sync is enabled, which is currently only used in the nvidia-bluefield platforms (DPUs in SmartSwitch Scenario).
This PR reduces size of ASIC_DB to prevent an issue where running show techsupport with large numbers of ENIs would be degraded and lead to syncd crashing. With enough ENIs (roughly 63) SONiC would run out of free memory altogether and crash. This also leads to performance improvements as the redis entries are redundant as the SaiRedis notifications are redundant as the notifications are already received over the ZMQ message queue in the syncd ZMQ_sync mode.
VS Switches will need to have the old behavior for unit testing otherwise swss tests will fail