Skip to content

Conversation

muzarski
Copy link
Contributor

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