Skip to content

Conversation

@aholmberg
Copy link
Contributor

No description provided.

@aholmberg aholmberg closed this May 20, 2021
adelapena pushed a commit to adelapena/cassandra that referenced this pull request Feb 26, 2024
CNDB-8229 introduced the requirement for explicitly freezing all types.
Previously, the assumption was that the tuples were frozen by definition
and not explicitly wrapped in the `frozen` type. However, since
the introduction of dropping non-frozen UDT columns, we need to support
non-frozen tuples in dropped columns. Therefore, we should no longer
assume each tuple is frozen by definition. We need to fix the type
definitions when loading the old sstables. They still mention tuples
without the `frozen` keyword while expecting them to be interpreted
as frozen.

This PR introduces a new sstable version since which the requirement is
strict - in this case, the sstables mentioning non-frozen tuple types
for non-dropped columns are rejected.

For Converged Cassandra, due to the migration process we keep producing
CB sstables while knowing how to interpret CC version.

Patch by Jacek Lewandowski; reviewed by Andrés de la Peña and Jaroslaw Grabowski for CNDB-8696
jbellis pushed a commit to jbellis/cassandra that referenced this pull request Mar 19, 2024
)

* Revert "Revert "CNDB-8229: Allow dropping non-frozen UDT columns (apache#905)" (apache#996)"

This reverts commit 80c2f8b.

* CNDB-8696: Refactor fixing implicitly frozen tuple (apache#1014)

CNDB-8229 introduced the requirement for explicitly freezing all types.
Previously, the assumption was that the tuples were frozen by definition
and not explicitly wrapped in the `frozen` type. However, since
the introduction of dropping non-frozen UDT columns, we need to support
non-frozen tuples in dropped columns. Therefore, we should no longer
assume each tuple is frozen by definition. We need to fix the type
definitions when loading the old sstables. They still mention tuples
without the `frozen` keyword while expecting them to be interpreted
as frozen.

This PR introduces a new sstable version since which the requirement is
strict - in this case, the sstables mentioning non-frozen tuple types
for non-dropped columns are rejected.

For Converged Cassandra, due to the migration process we keep producing
CB sstables while knowing how to interpret CC version.

Patch by Jacek Lewandowski; reviewed by Andrés de la Peña and Jaroslaw Grabowski for CNDB-8696

* CNDB-8696 bump current version of Trie format

vsearch is moved to the new version (cc) as per 8696
solution description.

---------

Co-authored-by: Andrés de la Peña <a.penya.garcia@gmail.com>
Co-authored-by: Jacek Lewandowski <lewandowski.jacek@gmail.com>
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.

1 participant