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

Upgrade to iceberg 1.5.2 #235

Merged
merged 14 commits into from
May 21, 2024
Merged

Upgrade to iceberg 1.5.2 #235

merged 14 commits into from
May 21, 2024

Conversation

tabmatfournier
Copy link
Contributor

@tabmatfournier tabmatfournier commented Apr 11, 2024

Updates connector to Iceberg 1.5

The iceberg-kafka-connect-events module has been deprecated in this repo: consider these legacy Events. Instead we rely on iceberg-kafka-connect-events which has been moved into Iceberg Core. This will make it easier to move the remainder of the repository over to there this PR updates worker/coordinator/etc. to work off the (significantly) reworked event classes.

The avro payloads produced by the worker/coordinator have changed in a way that is not backward compatible. This is unavoidable atm due to porting the codebase (partially) to Iceberg-core and the changes made there (see: apache/iceberg#8701 (comment)).

Encoding relies heavily on the Iceberg avro utils due to having to encode Datafiles, delete files, etc. Unfortunately changes were made upstream that break the format. This puts us in an awkward spot: we either have to port all the machinery of Avro from Iceberg to maintain the same format, or do the breaking change.

This PR ports the marchinery from Iceberg 1.4.x to have a fallback decoder if decoding fails in the event a legacy record was left behind in the control topic during the upgrade. This code should be removed in future releases.

There is no breaking change for the users because of this. Eventing now depends on donated connector code in iceberg-core, which should result in non-breaking changes for our users to migrate when the rest of the code is ported over.

@tabmatfournier tabmatfournier marked this pull request as ready for review April 21, 2024 15:13
@tabmatfournier
Copy link
Contributor Author

Should have a branch up shortly that deals with the breaking change instead. Much better for the users --no drain mode needed.

@tabmatfournier tabmatfournier changed the title Upgrade to iceberg 1.5.0 Upgrade to iceberg 1.5.1 May 9, 2024
@sullis
Copy link

sullis commented May 9, 2024

Iceberg 1.5.2 is the latest release
https://iceberg.apache.org/releases/

@tabmatfournier tabmatfournier changed the title Upgrade to iceberg 1.5.1 Upgrade to iceberg 1.5.2 May 10, 2024
Copy link
Contributor

@fqtab fqtab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good to me overall.

I have only one concern about a potential bug in the donated-to-apache-code which we can discuss more in this thread.

@tabmatfournier tabmatfournier merged commit c16ca54 into main May 21, 2024
1 check passed
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.

4 participants