Skip to content

MetaDataEvolutionValidator now validates synthetic record type evolution#4121

Draft
alecgrieser wants to merge 7 commits into
FoundationDB:mainfrom
alecgrieser:04022-mdev-synthetic-types
Draft

MetaDataEvolutionValidator now validates synthetic record type evolution#4121
alecgrieser wants to merge 7 commits into
FoundationDB:mainfrom
alecgrieser:04022-mdev-synthetic-types

Conversation

@alecgrieser
Copy link
Copy Markdown
Collaborator

The MetaDataEvolutionValidator has been udpated here to look at the synthetic types in the meta-data. This allows it to validate that the data held in join indexes and unnested indexes is not incorrectly updated during meta-data evolution. There are largely analogous paths followed for the two current synthetic types, JoinedRecordTypes and UnnestedRecordTypes.

This resolves #4022.

…d renames only on deprecated types

The `MetaDataEvolutionValidator` was given an option to allow for field renames with FoundationDB#4034. That can be problematic in the general case, as we don't really want fields that are in use to change their field name. (For example, if two fields swap places accidentlly but they have identical types, allowing general field renames wouldn't catch that.) However, if a field has been marked as deprecated, then it is likely no longer in use, so allowing field renames for those fields is less problematic. It is also the only way to support a flow that allows for a field to be recreated (e.g., with a new type), though that operation has its own costs.

This resolves FoundationDB#4020.
…ution

The `MetaDataEvolutionValidator` has been udpated here to look at the synthetic types in the meta-data. This allows it to validate that the data held in join indexes and unnested indexes is not incorrectly updated during meta-data evolution. There are largely analogous paths followed for the two current synthetic types, `JoinedRecordType`s and `UnnestedRecordType`s.

This resolves FoundationDB#4022.
@alecgrieser alecgrieser added the enhancement New feature or request label Apr 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Validate synthetic types in the MetaDataEvolutionValidator

1 participant