Skip to content

Conversation

@michaelsembwever
Copy link
Member

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

Port into main-5.0 commit 4fc5df6

CNDB-15946: Revamp SAI metrics for fetched/returned keys/partitions/rows/tombstones (#2132)

The metrics partitionsRead, rowsFiltered, rowsPreFiltered and shadowedPrimaryKeyCount, which don't always work as expected, are replaced by these metrics:

* keysFetched: Number of partition/row keys that will be used to fetch rows from the base table.
* partitionsFetched: Number of live partitions fetched from the base table, before post-filtering and sorting. Note that currently ANN fetches one partition per index key, without any grouping of same-partition clusterings.
* partitionsReturned: Number of live partitions returned to the coordinator, after post-filtering and sorting.
* partitionTombstonesFetched: Number of deleted partitions found when reading the base table.
* rowsFetched: Number of live rows fetched from the base table, before post-filtering and sorting.
* rowsReturned: Number of live rows returned to the coordinator, after post-filtering and sorting.
* rowTombstonesFetched: Number deleted rows or row ranges found when reading the base table.

StorageAttachedIndexSearcher is modified to use the command timestamp, rather than getting the current time every time a query timestamp is needed, which was possibly buggy and inefficient.

@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

@michaelsembwever
Copy link
Member Author

Tests failures not related. (already exist or not reproducible locally)

…ows/tombstones (#2132)

The metrics partitionsRead, rowsFiltered, rowsPreFiltered and shadowedPrimaryKeyCount,
which don't always work as expected, are replaced by these metrics:

* keysFetched: Number of partition/row keys that will be used to fetch rows from the base table.
* partitionsFetched: Number of live partitions fetched from the base table, before post-filtering and sorting.
  Note that currently ANN fetches one partition per index key, without any grouping of same-partition clusterings.
* partitionsReturned: Number of live partitions returned to the coordinator, after post-filtering and sorting.
* partitionTombstonesFetched: Number of deleted partitions found when reading the base table.
* rowsFetched: Number of live rows fetched from the base table, before post-filtering and sorting.
* rowsReturned: Number of live rows returned to the coordinator, after post-filtering and sorting.
* rowTombstonesFetched: Number deleted rows or row ranges found when reading the base table.

StorageAttachedIndexSearcher is modified to use the command timestamp, rather than getting the current
time every time a query timestamp is needed, which was possibly buggy and inefficient.
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.

6 participants