Skip to content

[action] [PR:3595] Fix the missed port status notifications issue#3616

Merged
mssonicbld merged 1 commit intosonic-net:202411from
mssonicbld:cherry/202411/3595
Apr 18, 2025
Merged

[action] [PR:3595] Fix the missed port status notifications issue#3616
mssonicbld merged 1 commit intosonic-net:202411from
mssonicbld:cherry/202411/3595

Conversation

@mssonicbld
Copy link
Collaborator

What I did

  1. Orchdaemon::main -> PortsOrch::doTask() -> Notifier::drain() -> ? Orchagent has the following flow to handle any pending notifications/retry existing notifications. Notifier::drain() has not been overridden and this causes pending notifications to never be handled

  2. PortsOrch::doTask(NotificationConsumer &consumer) only does pop() on consumer and only handles one notification at a time. This cause delay in the convergence. On a scaled setup mentioned in the issue below. Post link toggle, it takes anywhere between 0.5 min - 2 mins for all the ports to be oper up. Thus fix the logic to handle all the notifications in one go.

Why I did it

Fix sonic-net/sonic-buildimage#22257

How I verified it

Verified on the scaled topology if the oper status is up after toggling all the ports

Details if related

<!--
Please make sure you have read and understood the contribution guildlines:
https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

1. Make sure your commit includes a signature generted with `git commit -s`
2. Make sure your commit title follows the correct format: [component]: description
3. Make sure your commit message contains enough details about the change and related tests
4. Make sure your pull request adds related reviewers, asignees, labels

Please also provide the following information in this pull request:
-->

**What I did**

1) `Orchdaemon::main -> PortsOrch::doTask() -> Notifier::drain() -> ?` Orchagent has the following flow to handle any pending notifications/retry existing notifications. `Notifier::drain()` has not been overridden and this causes pending notifications to never be handled

2) `PortsOrch::doTask(NotificationConsumer &consumer)` only does `pop() `on consumer and only handles one notification at a time. This cause delay in the convergence. On a scaled setup mentioned in the issue below. Post link toggle, it takes anywhere between 0.5 min - 2 mins for all the ports to be oper up. Thus fix the logic to handle all the notifications in one go.

**Why I did it**

Fix sonic-net/sonic-buildimage#22257

**How I verified it**

Verified on the scaled topology if the oper status is up after toggling all the ports

**Details if related**
@mssonicbld
Copy link
Collaborator Author

Original PR: #3595

@mssonicbld
Copy link
Collaborator Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld mssonicbld merged commit 4383d39 into sonic-net:202411 Apr 18, 2025
12 of 14 checks passed
DavidZagury pushed a commit to DavidZagury/sonic-swss that referenced this pull request Apr 28, 2025
```<br>* 19ed87b - (HEAD -> 202412) Merge branch '202411' of https://github.com/sonic-net/sonic-swss into 202412 (2025-04-18) [Sonic Automation]
* 4383d39 - (origin/202411) Fix the missed port status notifications issue (sonic-net#3616) (2025-04-18) [mssonicbld]<br>```
bradh352 pushed a commit to bradh352/sonic-swss that referenced this pull request May 3, 2025
<!--
Please make sure you have read and understood the contribution guildlines:
https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

1. Make sure your commit includes a signature generted with `git commit -s`
2. Make sure your commit title follows the correct format: [component]: description
3. Make sure your commit message contains enough details about the change and related tests
4. Make sure your pull request adds related reviewers, asignees, labels

Please also provide the following information in this pull request:
-->

**What I did**

1) `Orchdaemon::main -> PortsOrch::doTask() -> Notifier::drain() -> ?` Orchagent has the following flow to handle any pending notifications/retry existing notifications. `Notifier::drain()` has not been overridden and this causes pending notifications to never be handled

2) `PortsOrch::doTask(NotificationConsumer &consumer)` only does `pop() `on consumer and only handles one notification at a time. This cause delay in the convergence. On a scaled setup mentioned in the issue below. Post link toggle, it takes anywhere between 0.5 min - 2 mins for all the ports to be oper up. Thus fix the logic to handle all the notifications in one go.

**Why I did it**

Fix sonic-net/sonic-buildimage#22257

**How I verified it**

Verified on the scaled topology if the oper status is up after toggling all the ports

**Details if related**
liuh-80 pushed a commit to liuh-80/sonic-swss that referenced this pull request Jun 10, 2025
…into 202503 sonic-net#73

Merge branch '202412' of https://github.com/sonic-net/sonic-swss.msft into 202503

Merge from 202412.

9c96d25 Initialize the last fec ber computed values if not found (sonic-net#71)
b567ab5 Merge pull request sonic-net#70 from mssonicbld/sonicbld/202412-merge
19ed87b Merge branch '202411' of https://github.com/sonic-net/sonic-swss into 202412
4383d39 Fix the missed port status notifications issue (sonic-net#3616)
4f6d557 Merge pull request sonic-net#69 from r12f/user/r12f/fix-build
fcbe392 Revert "Merge branch '202411' of https://github.com/sonic-net/sonic-swss into 202412"
9e9442d [orchagent] Fix issue: typo in high BER (sonic-net#68)
7498ae9 Merge pull request sonic-net#67 from mssonicbld/sonicbld/202412-merge
bbce4b4 Merge branch '202411' of https://github.com/sonic-net/sonic-swss into 202412
9e97862 Merge pull request sonic-net#66 from mssonicbld/sonicbld/202412-merge
fceb196  Revert "Optimize counter polling interval by making it more accurate
5206c2b Merge branch '202411' of https://github.com/sonic-net/sonic-swss into 202412
d88b694 Remove unused string variables in flexcounterorch.cpp
1e4315e Remove unused string variables in flexcounterorch.cpp
e82f8c2 Revert "Optimize counter polling interval by making it more accurate (sonic-net#3500)"
ca017d0 [vstest]: Fix MACsec test in the kernel 5.15 (sonic-net#3573)
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.

1 participant