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

Snowflake 2.0.0 Upgrade #6

Closed
wants to merge 42 commits into from

Conversation

JonathonO
Copy link

Skipped 1.9.4 upgrade as 2.0.0 reverts a fix in 1.9.4 that affects channel opening/closing which we've seen warnings and exceptions for in earlier versions.

Alexandru Cristu and others added 30 commits February 6, 2023 16:39
Semantic Time data type should map to the Snowflake's equivalent type
not Timestamp. Semantic ZonedTime data type doesn't have an equivalent
so using the next closest type.
…emporal-types-issue

STR-783 Snowflake 1.9.2 Upgrade & STR-877 Temporal type mapping fix
sfc-gh-rcheng and others added 12 commits June 22, 2023 17:42
Miscommunication on this PR comment on what test needed to be removed. Adding e2e test back
…chematization is enabled (snowflakedb#658)

Looks like we have a gap in KC that may skip ingesting some offsets, consider this case where you have two topics with different schemas trying to ingest into the same table, internally KC will create two channels (channel A and channel B) with offset_token=NULL, then both channels start to buffer data and flush files, but channel A fails committing the first batch because the file schema doesn't match the latest table schema due to schema evolution, then channel A will be invalidated and reopened but we won't reset the consumer offset because the offset_token for channel A is still NULL, we say that we will rely on Kafka to send us the correct data when the offset_token is NULL, so in this case Kafka will continue send us the next batch and we will accept it, this means that the first batch for channel A will be skipped forever. We need to rethink about what we need to do when the offset_token for a channel is NULL and I don't think we can purely rely on Kafka to resend us the correct offset.

The fix is to manage the Kafka consumer offset in the connector as well and use that to reset Kafka when the offset token for a channel is NULL instead of relying on Kafka to send us the correct offset
- No conflicts
- Added toolchains for help with building the Connector using specific
JDK versions
@JonathonO JonathonO requested a review from acristu August 11, 2023 10:58
@JonathonO JonathonO self-assigned this Aug 11, 2023
@JonathonO JonathonO closed this Aug 14, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Aug 14, 2023
@JonathonO JonathonO deleted the jonathon/str-1359-snowflake-sink-200-upgrade branch August 14, 2023 09:34
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants