Skip to content

prepared: enable cached result metadata optimization by default #210

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

muzarski
Copy link
Collaborator

We already cache the metadata on cpp-rust-driver side (see CassPrepared::result_metadata field), thus we can enable the optimization on rust-driver side as well. This will prevent the server from sending redundant bytes representing a result metadata during EXECUTE.

NOTE: We are aware that it makes cached metadata immutable. It is expected, though - there is an integration test for this for CQL protocol v4 (AlterDoesntUpdateColumnCount). This issue is addressed in CQL protocol v5, but Scylla doesn't support it yet, and probably won't support it in the near future.

Pre-review checklist

  • I have split my patch into logically separate commits.
  • All commit messages clearly explain what they change and why.
  • PR description sums up the changes and reasons why they should be introduced.
  • [ ] I have implemented Rust unit tests for the features/changes introduced.
  • [ ] I have enabled appropriate tests in .github/workflows/build.yml in gtest_filter.
  • [ ] I have enabled appropriate tests in .github/workflows/cassandra.yml in gtest_filter.

We already cache the metadata on cpp-rust-driver side (see CassPrepared::result_metadata field),
thus we can enable the optimization on rust-driver side as well. This will prevent the server
from sending redundant bytes representing a result metadata during EXECUTE.

NOTE: We are aware that it makes cached metadata immutable. It is expected, though - there
is an integration test for this for CQL protocol v4 (AlterDoesntUpdateColumnCount).
This issue is addressed in CQL protocol v5, but Scylla doesn't support it yet, and probably
won't support it in the near future.
@muzarski muzarski self-assigned this Nov 28, 2024
@muzarski muzarski merged commit f1ed076 into scylladb:master Dec 2, 2024
11 checks passed
@muzarski muzarski mentioned this pull request Apr 14, 2025
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.

3 participants