Skip to content

[action] [PR:89] Suppress update from consumer bridge if there is no change#16

Merged
prabhataravind merged 1 commit intoAzure:202506from
mssonicbld:cherry/msft-202506/89
Aug 31, 2025
Merged

[action] [PR:89] Suppress update from consumer bridge if there is no change#16
prabhataravind merged 1 commit intoAzure:202506from
mssonicbld:cherry/msft-202506/89

Conversation

@mssonicbld
Copy link
Collaborator

why

There is very frequent update from DPU_STATE. It appears pmon collecting dpu state and update this table every minute. But in each cycle, it makes multiple no change update to the table. redis doesn't seem to filter it. It sends notification regardlessly.

Also hamgrd sends no-change update to ProducerBridge or ZmqProducerBridge. The latter sends notification to DPU via zmq periodically propagated from DPU_STATE update. DashHaOrch treats no-change update as warning and it also pollutes swss.rec in DPU.

what this PR does

  • consumer bridge filters no change update. It compares the update to previous state. If there is no change, it will just drop the notification.
  • remove tracing span lifecycle events if logger is initialized from swss. span events are good for debugging long operations but they are also too chatty. They can be enabled if swbusd/hamgrd are started with RUST_LOG env, which has highest priority in initializing loggers.
  • producer bridge keeps a cache of previous update and filter out the no-change update.

### why
There is very frequent update from DPU_STATE. It appears pmon collecting dpu state and update this table every minute. But in each cycle, it makes multiple no change update to the table. redis doesn't seem to filter it. It sends notification regardlessly.

Also hamgrd sends no-change update to ProducerBridge or ZmqProducerBridge. The latter sends notification to DPU via zmq periodically propagated from DPU_STATE update. DashHaOrch treats no-change update as warning and it also pollutes swss.rec in DPU.

### what this PR does
- consumer bridge filters no change update. It compares the update to previous state. If there is no change, it will just drop the notification.
- remove tracing span lifecycle events if logger is initialized from swss. span events are good for debugging long operations but they are also too chatty. They can be enabled if swbusd/hamgrd are started with RUST_LOG env, which has highest priority in initializing loggers.
- producer bridge keeps a cache of previous update and filter out the no-change update.
@mssonicbld
Copy link
Collaborator Author

Original PR: sonic-net/sonic-dash-ha#89

@mssonicbld
Copy link
Collaborator Author

/azp run

@prabhataravind prabhataravind merged commit 7314844 into Azure:202506 Aug 31, 2025
2 checks passed
prabhataravind pushed a commit to prabhataravind/sonic-dash-ha.msft that referenced this pull request Sep 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants