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

Kafka Connect: Runtime distribution with integration tests #10739

Merged
merged 5 commits into from
Jul 29, 2024

Conversation

bryanck
Copy link
Contributor

@bryanck bryanck commented Jul 21, 2024

This PR is the next stage in submitting the Kafka Connect Iceberg sink connector, and is a follow up to #8701, #9466, #9641, and #10351.

This adds building of runtime distributions plus some integration tests. There are two runtime distributions, one that bundles the HMS client and related libraries, and one that does not. The one without the HMS client is much smaller and also doesn't have dependencies with critical security vulnerabilities. Repositories like Confluent Hub require connectors be free of critical vulnerabilities.

Remaining tasks are listed in #10740.

@ajantha-bhat
Copy link
Member

This adds building of runtime distributions plus some integration tests

Can we please split into two PRs. one for adding runtime distributions and one for integration tests?

@bryanck
Copy link
Contributor Author

bryanck commented Jul 22, 2024

The integration tests depend on the runtime.

@ajantha-bhat
Copy link
Member

The integration tests depend on the runtime.

I know. We can review and merge the runtime PR first and then rebase the integration test PR?

@bryanck
Copy link
Contributor Author

bryanck commented Jul 22, 2024

The integration tests are testing the runtime, so I feel they belong together. Also, the runtime build is just the build.gradle so this seems unneccessary to me.

@bryanck bryanck changed the title Kafka Connect: Runtime distribution and integration tests Kafka Connect: Runtime distribution, with integration tests Jul 22, 2024
@bryanck bryanck changed the title Kafka Connect: Runtime distribution, with integration tests Kafka Connect: Runtime distribution with integration tests Jul 22, 2024
Copy link
Contributor

@danielcweeks danielcweeks left a comment

Choose a reason for hiding this comment

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

Overall, looks good. I think there are some minor issues with assets/logos and it would be great if we could run the integration tests without having to manually start the compose.

kafka-connect/build.gradle Outdated Show resolved Hide resolved
kafka-connect/build.gradle Outdated Show resolved Hide resolved
@bryanck bryanck force-pushed the kc-runtime branch 3 times, most recently from 224700b to 39d0310 Compare July 23, 2024 12:50
entrypoint: mc mb /data/bucket

iceberg:
image: tabulario/iceberg-rest
Copy link
Member

Choose a reason for hiding this comment

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

Should we really add this dependency?
I am not sure about the future roadmap of this project.

Can we use some OSS implementation of the catalog?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm not sure if there is a better alternative but I'm happy to switch if there is one. @danielcweeks do you have concerns relying on this image?

Copy link
Contributor

Choose a reason for hiding this comment

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

This is currently used by a number of projects as a test depending (python,rust,trino) and is fine for now. We've discussed moving this into the test fixtures in core and I'll work with @Fokko to get that done and we can move the test dependencies separately.

Copy link
Member

Choose a reason for hiding this comment

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

Thanks for the update.

It would be nice to maintain and publish this image under OSS iceberg account 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

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

+1

Copy link
Member

Choose a reason for hiding this comment

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

I can help on the DockerHub "seat" for apache/iceberg (I just did that for the new openserverless podling). Just let me know 😄

Copy link
Member

Choose a reason for hiding this comment

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

Yes.
With that account we can even publish some more test image like Trino, kafaka-connect, Spark etc.
And we can maintain these images in Iceberg repo test module or as a separate subproject "Iceland - A playground for Iceberg"

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks @jbonofre! That was one of the biggest outstanding issues because we don't currently produce any images as a project.

Copy link
Member

Choose a reason for hiding this comment

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

@danielcweeks happy to help ! 😄

Copy link
Contributor

@fqaiser94 fqaiser94 left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Member

@ajantha-bhat ajantha-bhat left a comment

Choose a reason for hiding this comment

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

Integration tests can be refactored to adopt any catalog instead of hardcoded rest catalog. But that is not a blocker for merging this PR.

@bryanck
Copy link
Contributor Author

bryanck commented Jul 29, 2024

Thanks for the reviews @danielcweeks , @fqaiser94 , and @ajantha-bhat !!

@bryanck bryanck merged commit 30e761e into apache:main Jul 29, 2024
61 checks passed
zachdisc pushed a commit to zachdisc/iceberg that referenced this pull request Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants