Details
-
Improvement
-
Status: Resolved
-
Low
-
Resolution: Later
-
None
-
None
-
None
Description
(Follow-up to CASSANDRA-10721)
In order to re-write an INITCOND value when a UDT is changed (component renamed or type altered), we will have to check for broken aggregates first (as we do not know why exactly these are broken; CASSANDRA-10721 added Function.isBroken()).
If one of the affected aggregates is broken, the request must fail.
If none of the affected aggregates is broken, we can re-write the binary representation of the INITCOND and push schema migrations for these aggregates.
Still unclear, if the user needs permissions on both the UDT and the affected UDAs for that.
Further, the UDT change and all UDA changes should be migrated in a single mutation, which feels to be the biggest change. This is not a strict requirement but would keep that schema change atomic.
Attachments
Issue Links
- is related to
-
CASSANDRA-10721 Altering a UDT might break UDA deserialisation
- Resolved