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-14760: Move ThroughputThrottler from tools to clients, remove tools dependency from connect-runtime #13313
KAFKA-14760: Move ThroughputThrottler from tools to clients, remove tools dependency from connect-runtime #13313
Conversation
Signed-off-by: Greg Harris <greg.harris@aiven.io>
This will allow the tools implementation to depend on modern features and refactors available after 0.8. Signed-off-by: Greg Harris <greg.harris@aiven.io>
Signed-off-by: Greg Harris <greg.harris@aiven.io>
Signed-off-by: Greg Harris <greg.harris@aiven.io>
I removed the checkstyle statements which allow Is this a good idea? Does it make sense for the |
@ijuma Can you review this project layering change? You reviewed the last time it was attempted. Thanks! |
@gharris1727 do the system tests pass with this change? |
Signed-off-by: Greg Harris <greg.harris@aiven.io>
Signed-off-by: Greg Harris <greg.harris@aiven.io>
@ijuma Here are the results of my local test runs of test suites which use LATEST_0_8_2 and VerifiableProducer:
Looking into the snappy failure, it appears that the broker can't find the native snappy library, and the client is receiving an opaque InvocationTargetException. I think this is an environment specific problem, and it also appears on trunk. Are you able to start a branch build system test for this? |
It may be the case that the Snappy native library failures are due to running the tests on a Mac M1, with aarch64. If that is true, I would expect the upgrade test to pass on an i86_64 architecture test runner. |
I started a system tests run for this branch. |
Hey @ijuma Do you have the system test results for this branch? |
I ran a full system test run:
With the following failed tests:
None of which make use of the 0.8.2.x artifacts version which is being affected here. In particular, the test which I was concerned about (upgrade_test.py from_kafka_version=0.8.2.2.to_message_format_version=None.compression_types=.snappy FAIL) does pass on this i86_64 machine when it failed on my arm64 machine, indicating that the failure was due to native library dependencies missing. |
@ijuma Could you take another look at this? This is blocking KIP-898 that I'm trying to get landed in time for 3.6.0. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
Thanks for your help Ismael! |
…ools dependency from connect-runtime (apache#13313) Reviewers: Ismael Juma <ismael@juma.me.uk>
Hi @gharris1727, it seems that this is causing some system test failures: https://issues.apache.org/jira/browse/KAFKA-15239. I'm working on a fix. |
@fvaleri Thanks for pointing that out! I mistakenly assumed that I wasn't going to be affecting intermediate versions, or that the location I changed was the only place where we mixed JARs. If you believe it's necessary to revert this, please let me know. |
I opened a PR with an attempt to fix it: #14092. It works with mentioned STs, but I'm running all non-core STs to actually verify it's all good. |
…ools dependency from connect-runtime (apache#13313) Reviewers: Ismael Juma <ismael@juma.me.uk>
…ools dependency from connect-runtime (apache#13313) Reviewers: Ismael Juma <ismael@juma.me.uk>
Currently connect-runtime pulls in tools as a dependency in order to use the ThroughputThrottler.
In the future it will be desirable to have tools pull in connect-runtime as a (test) dependency, so we must remove this dependency first.
The last time this was tried (https://issues.apache.org/jira/browse/KAFKA-2752) it broke system tests and had to be reverted (https://issues.apache.org/jira/browse/KAFKA-2807).
This was because the
dev
version of tools was being used with0.8.2.x
clients jar in the system tests, because the test needs the VerifiableProducer which did not exist in0.8.2.x
. In order to work around this restriction, this PR changes the system test to use the0.9.x
version of tools with0.8.2.x
instead of the dev version. This will relax the current compatibility requirement between tools and clients, and should allow this refactor to land without the upgrade test failing.This conflicts with #13302 which move some of the classes which depend on
tools
.Committer Checklist (excluded from commit message)