Skip to content

[action] [PR:1068] Add lazy binding support to ZmqServer.#54

Merged
mssonicbld merged 1 commit intoAzure:202506from
mssonicbld:cherry/msft-202506/1068
Aug 30, 2025
Merged

[action] [PR:1068] Add lazy binding support to ZmqServer.#54
mssonicbld merged 1 commit intoAzure:202506from
mssonicbld:cherry/msft-202506/1068

Conversation

@mssonicbld
Copy link
Copy Markdown
Collaborator

Add lazy binding support to ZmqServer.

Why I did it

When creating a ZmqServer followed by a ZmqProducerStateTable, there may be a time gap between the server starting to receive messages and the producer state table registering its handler.

This gap can lead to dropped messages. To avoid this, use lazy binding and invoke bind() only after the handler is registered.

How I did it

Add lazy binding support to ZmqServer.

Work item tracking
  • Microsoft ADO: 33995986

How to verify it

Pass all test cases.
Add new test case for lazy binding.

Pass all sonic-mgmt test with this PR:
sonic-net/sonic-buildimage#23741

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111

Description for the changelog

Add lazy binding support to ZmqServer.

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

Add lazy binding support to ZmqServer.

#### Why I did it
When creating a ZmqServer followed by a ZmqProducerStateTable, there may be a time gap between the server starting to receive messages and the producer state table registering its handler.

This gap can lead to dropped messages. To avoid this, use lazy binding and invoke bind() only after the handler is registered.

#### How I did it
Add lazy binding support to ZmqServer.

##### Work item tracking
- Microsoft ADO: 33995986

#### How to verify it
Pass all test cases.
Add new test case for lazy binding.

Pass all sonic-mgmt test with this PR:
sonic-net/sonic-buildimage#23741

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111

#### Description for the changelog
Add lazy binding support to ZmqServer.

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/SONiC/wiki/Configuration.
-->

#### A picture of a cute animal (not mandatory but encouraged)
@mssonicbld
Copy link
Copy Markdown
Collaborator Author

Original PR: sonic-net/sonic-swss-common#1068

@mssonicbld
Copy link
Copy Markdown
Collaborator Author

/azp run

@mssonicbld mssonicbld merged commit bbcd53e into Azure:202506 Aug 30, 2025
5 checks passed
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