Skip to content

perf: avoid exclusive digest lock on every query - #6165

Open
renecannao wants to merge 9 commits into
v3.0from
perf/digest-thread-local-stats
Open

perf: avoid exclusive digest lock on every query#6165
renecannao wants to merge 9 commits into
v3.0from
perf/digest-thread-local-stats

fix(query_digest): preserve concurrent stats ordering

b1ffe96
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Sep 3, 2026 in 9m 40s

Quality Gate failed

Failed conditions
E Maintainability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Annotations

Check failure on line 138 in lib/QP_query_digest_stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBk1GLVURB0DC0ywU56&open=AaBk1GLVURB0DC0ywU56&pullRequest=6165

Check failure on line 1826 in lib/ProxySQL_Admin_Stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBowa2psejIpwWXHJP7&open=AaBowa2psejIpwWXHJP7&pullRequest=6165

Check failure on line 334 in lib/Query_Processor.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBnEzolEGPpgVdiH3Wz&open=AaBnEzolEGPpgVdiH3Wz&pullRequest=6165

Check failure on line 117 in lib/QP_query_digest_stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBk1GLVURB0DC0ywU5t&open=AaBk1GLVURB0DC0ywU5t&pullRequest=6165

Check failure on line 339 in lib/Query_Processor.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBnEzolEGPpgVdiH3W4&open=AaBnEzolEGPpgVdiH3W4&pullRequest=6165

Check failure on line 134 in lib/QP_query_digest_stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBk1GLVURB0DC0ywU54&open=AaBk1GLVURB0DC0ywU54&pullRequest=6165

Check failure on line 110 in lib/QP_query_digest_stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBk1GLVURB0DC0ywU5p&open=AaBk1GLVURB0DC0ywU5p&pullRequest=6165

Check failure on line 1845 in lib/ProxySQL_Admin_Stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBowa2psejIpwWXHJQB&open=AaBowa2psejIpwWXHJQB&pullRequest=6165

Check failure on line 1843 in lib/ProxySQL_Admin_Stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBowa2psejIpwWXHJQA&open=AaBowa2psejIpwWXHJQA&pullRequest=6165

Check failure on line 78 in lib/QP_query_digest_stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBk1GLVURB0DC0ywU5k&open=AaBk1GLVURB0DC0ywU5k&pullRequest=6165

Check failure on line 80 in lib/QP_query_digest_stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBk1GLVURB0DC0ywU5l&open=AaBk1GLVURB0DC0ywU5l&pullRequest=6165

Check failure on line 2718 in lib/ProxySQL_Admin_Stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBowa2psejIpwWXHJQT&open=AaBowa2psejIpwWXHJQT&pullRequest=6165

Check failure on line 129 in lib/QP_query_digest_stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBk1GLVURB0DC0ywU5v&open=AaBk1GLVURB0DC0ywU5v&pullRequest=6165

Check failure on line 112 in lib/QP_query_digest_stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBk1GLVURB0DC0ywU5r&open=AaBk1GLVURB0DC0ywU5r&pullRequest=6165

Check failure on line 1828 in lib/ProxySQL_Admin_Stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBowa2psejIpwWXHJP9&open=AaBowa2psejIpwWXHJP9&pullRequest=6165

Check failure on line 2719 in lib/ProxySQL_Admin_Stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBowa2psejIpwWXHJQU&open=AaBowa2psejIpwWXHJQU&pullRequest=6165

Check failure on line 131 in lib/QP_query_digest_stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBk1GLVURB0DC0ywU51&open=AaBk1GLVURB0DC0ywU51&pullRequest=6165

Check failure on line 335 in lib/Query_Processor.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBnEzolEGPpgVdiH3W0&open=AaBnEzolEGPpgVdiH3W0&pullRequest=6165

Check failure on line 132 in lib/QP_query_digest_stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBk1GLVURB0DC0ywU52&open=AaBk1GLVURB0DC0ywU52&pullRequest=6165

Check failure on line 109 in lib/QP_query_digest_stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBk1GLVURB0DC0ywU5o&open=AaBk1GLVURB0DC0ywU5o&pullRequest=6165

Check failure on line 1854 in lib/ProxySQL_Admin_Stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBowa2psejIpwWXHJQF&open=AaBowa2psejIpwWXHJQF&pullRequest=6165

Check failure on line 1827 in lib/ProxySQL_Admin_Stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBowa2psejIpwWXHJP8&open=AaBowa2psejIpwWXHJP8&pullRequest=6165

Check failure on line 1855 in lib/ProxySQL_Admin_Stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBowa2psejIpwWXHJQG&open=AaBowa2psejIpwWXHJQG&pullRequest=6165

Check failure on line 133 in lib/QP_query_digest_stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBk1GLVURB0DC0ywU53&open=AaBk1GLVURB0DC0ywU53&pullRequest=6165

Check failure on line 1849 in lib/ProxySQL_Admin_Stats.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=sysown_proxysql&issues=AaBowa2psejIpwWXHJQC&open=AaBowa2psejIpwWXHJQC&pullRequest=6165