-
Notifications
You must be signed in to change notification settings - Fork 513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix port up/bfd sessions bringup notification delay issue. #3269
base: master
Are you sure you want to change the base?
Changes from 20 commits
9376a4f
96967cf
229f883
a59fc76
087ae0e
68c65ee
ff0b951
8c206a9
e30c429
ad1fc72
1cf59b6
21b9d39
e262b08
b8396bf
d0b4886
d5acaae
d99ebf6
317191d
574cf11
133f057
3620acb
7c68aef
e3ae1bf
ba0cd6d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,6 +13,8 @@ | |
#include "zmqconsumerstatetable.h" | ||
#include "sai_serialize.h" | ||
|
||
#define CONSUMER_POP_MAX_BATCH_COUNT 50 | ||
|
||
using namespace swss; | ||
|
||
int gBatchSize = 0; | ||
|
@@ -242,14 +244,10 @@ void Consumer::execute() | |
// ConsumerBase::execute_impl<swss::ConsumerTableBase>(); | ||
SWSS_LOG_ENTER(); | ||
|
||
size_t update_size = 0; | ||
auto table = static_cast<swss::ConsumerTableBase *>(getSelectable()); | ||
do | ||
{ | ||
std::deque<KeyOpFieldsValuesTuple> entries; | ||
table->pops(entries); | ||
update_size = addToSync(entries); | ||
} while (update_size != 0); | ||
std::deque<KeyOpFieldsValuesTuple> entries; | ||
table->pops(entries); | ||
addToSync(entries); | ||
|
||
drain(); | ||
} | ||
|
@@ -789,7 +787,7 @@ void Orch::addConsumer(DBConnector *db, string tableName, int pri) | |
} | ||
else | ||
{ | ||
addExecutor(new Consumer(new ConsumerStateTable(db, tableName, gBatchSize, pri), this, tableName)); | ||
addExecutor(new Consumer(new ConsumerStateTable(db, tableName, gBatchSize * CONSUMER_POP_MAX_BATCH_COUNT, pri), this, tableName)); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This change will cause an issue: sonic-net/sonic-buildimage@286ec3e Background running lua script may cause redis-server quite busy if batch size is 8192. So that's also part of reason why add a loop in execute() |
||
} | ||
} | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Multiple test case failed. because not get expected data within 20 seconds.
Possible reason:
Will try different solution to only limit route process in another POC PR
[POC] Improve routeorch to stop process routes when high priority notification coming. #3278