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

Column Topic Schema Evolution #3167

Closed
Tracked by #3164
sehz opened this issue Apr 19, 2023 · 1 comment
Closed
Tracked by #3164

Column Topic Schema Evolution #3167

sehz opened this issue Apr 19, 2023 · 1 comment

Comments

@sehz
Copy link
Contributor

sehz commented Apr 19, 2023

Per #3081. Producer/SPU need to encode/decode column values from/into a record. This will turn Fluvio topic into something like Write Ahead Log.

Given schema can be changed anytime, record data need to track following schema evolution. The schema will follow SemVer policy.

Minor version changes:

  • Column addition

Other changes are consider major version changes:

  • Column deletion
  • Column Renaming
  • Column type changes

Any major schema changes will save previous version automatically. Latest schema will be always active schema. Deletion of previous version is only allowed if no data references old schema.

Column records then will use following format

column_id:     u16
total_len:   u16
column_count: u8
column0
column1
column2
column3
@sehz sehz changed the title Column Type record storage Column Topic Schema Evolution Apr 19, 2023
@sehz sehz mentioned this issue Apr 19, 2023
6 tasks
@github-actions
Copy link

Stale issue message

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jun 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant