envoyproxy / envoy

Cloud-native high-performance edge/middle/service proxy
https://www.envoyproxy.io
Apache License 2.0
24.79k stars 4.76k forks source link

admin: stats_handler_speed_test destruction seems to hang due to per-host info #32198

Open jmarantz opened 7 months ago

jmarantz commented 7 months ago

When I run stats-handler_speed_test it takes a surprising amount of time to initialize, and even longer to finish (return to the prompt).

Something n^2 might be happening in the mocks destruct sequence, or maybe a lock issue.

https://github.com/envoyproxy/envoy/pull/32197 enables a workaround by only initializing the host info when called for by a test, so someone can use a regex to run only the 'disabled' tests. With the above PR:

time ./bazel-bin/test/server/admin/stats_handler_speed_test --'benchmark_filter=disabled'
...
13.965u 0.047s 0:14.01 99.9%    0+0k 0+0io 0pf+0w

whereas by default:

time ./bazel-bin/test/server/admin/stats_handler_speed_test
...
(appears to hang after reporting all results: will update when it finishes)
jmarantz commented 7 months ago

I don't think it's a lock issue; 1 CPU is 100% while waiting for the second speed test above to exit.

jmarantz commented 7 months ago

the second test is still running after 4 hours.

github-actions[bot] commented 6 months ago

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.