Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"DEVICE_METADATA": {
"localhost": {
"create_only_config_db_buffers": "true"
}
}
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the behavior if only supporting_bulk_counter_groups is present while create_only_config_db_buffers.json is missing?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @bingwang-ms
In that case the bulk won't work correctly because

  1. We only use configured queues. All those queues support bulk counter polling
  2. Without create_only_config_db_buffers, flex counter will bulk-poll all queue counters, some of which do not support bulk polling.
  3. It can fail if we try to bulk-poll objects with mixed supporting and unsupporting objects. There is a logic to dynamically determine whether bulk is supported on an object and remove the objects that do not support bulk poll during initialization. This guarantees that all objects polled in bulk mode at run time support bulk polling, like the scenario where create_only_config_db_buffers is not provided.
  4. However, by providing supporting_bulk_counter_groups, the logic in 3 is disabled. There will be runtime error.

In master, create_only_config_db_buffers is not a must but still recommended because it is faster

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
QUEUE_WATERMARK_STAT_COUNTER,PG_WATERMARK_STAT_COUNTER,PFC_WD
Loading