Skip to content

Conversation

@michaelsembwever
Copy link
Member

@michaelsembwever michaelsembwever commented Nov 17, 2025

https://github.com/riptano/cndb/issues/16023

Port into main-5.0 commit 27689d3

CNDB-16023: CNDB-15260: Add SAI-specific execution info to slow query logger
Adds the metrics in IndexContext and the tree view of the query's Plan to the log messages produced for slow SAI queries.

There is a new system property named cassandra.sai.slow_query_log.execution_info_enabled to toggle this feature, which is enabled by default. This property can be changed dynamically at any time, without a restart.

When SAI-specific information is added to the slow query logger, the log messages for slow queries can take up almost 10x the (uncompressed) disk space. In the worst of the worst cases, with all queries being permanently slower than 500ms, and at least 50 different queries, reporting every 5 seconds (the default), the slow query logger can produce around 120MB of text per day and instance. With the detailed logging, it would be 1.14GB per day.

BLOCKED on https://github.com/riptano/cndb/issues/16021

… logger (#2044)

Adds the metrics in IndexContext and the tree view of the query's Plan
to the log messages produced for slow SAI queries.

There is a new system property named cassandra.sai.slow_query_log.execution_info_enabled
to toggle this feature, which is enabled by default. This property can be changed
dynamically at any time, without a restart.

When SAI-specific information is added to the slow query logger, the log messages for
slow queries can take up almost 10x the (uncompressed) disk space. In the worst of the
worst cases, with all queries being permanently slower than 500ms, and at least 50
different queries, reporting every 5 seconds (the default), the slow query logger can
produce around 120MB of text per day and instance. With the detailed logging, it would
be 1.14GB per day.
@github-actions
Copy link

Checklist before you submit for review

  • This PR adheres to the Definition of Done
  • Make sure there is a PR in the CNDB project updating the Converged Cassandra version
  • Use NoSpamLogger for log lines that may appear frequently in the logs
  • Verify test results on Butler
  • Test coverage for new/modified code is > 80%
  • Proper code formatting
  • Proper title for each commit staring with the project-issue number, like CNDB-1234
  • Each commit has a meaningful description
  • Each commit is not very long and contains related changes
  • Renames, moves and reformatting are in distinct commits
  • All new files should contain the DataStax copyright header instead of the Apache License one

@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
2.7% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@cassci-bot
Copy link

❌ Build ds-cassandra-pr-gate/PR-2129 rejected by Butler


102 regressions found
See build details here


Found 102 new test failures

Showing only first 15 new test failures

Test Explanation Runs Upstream
test_cqlsh_completion.TestCqlshCompletion.test_complete_command_words (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_alter_keyspace (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_alter_type (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_create_columnfamily (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_create_table (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_create_user (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_delete (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_drop (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_drop_keyspace (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_drop_role (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_insert (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_revoke (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_select_order_by_ann_of (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_tracing (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17
test_cqlsh_completion.TestCqlshCompletion.test_complete_in_truncate (python3.8.jdk11.x86_64.no-cython.x86_64) REGRESSION 🔴 0 / 17

Found 1 known test failures

@michaelsembwever michaelsembwever marked this pull request as draft November 19, 2025 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants