Skip to content
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

Schema evolution testing #537

Open
big-andy-coates opened this issue Apr 25, 2024 · 0 comments
Open

Schema evolution testing #537

big-andy-coates opened this issue Apr 25, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@big-andy-coates
Copy link
Member

A big challenge engineers face is knowing if a change they've made to a schema is compatible with previous schema versions, (Most importantly, those schema that exist in prod), and services can work with old data.

Creek should help by testing schema evolution and old data.

Schema evolution checks are possible if we add ability to see older versions of a schema. Simple add a schema resource type. A file in the seed directory could then point to a dir containing the schema. Schema order defined by file name. So simple adding a version into file name orders them, e.g. org.acme.MyType.v3.yml

SR Test extension can then load these in order and fail on incompatible changes.

Old data can be added via existing ability to see data in to Kafka. Need a way of identifying which version of the schema to use to serialise the data... I.e in the record in the seed file.

Can have unit test util that checks latest schema in test resources matches currently generated schema, to ensure schema updates are captured.

@big-andy-coates big-andy-coates added the enhancement New feature or request label Apr 25, 2024
@big-andy-coates big-andy-coates self-assigned this Apr 25, 2024
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

No branches or pull requests

1 participant