-
Notifications
You must be signed in to change notification settings - Fork 14k
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-12724: Add 2.8.0 to system tests and streams upgrade tests. #10602
Conversation
} | ||
}); | ||
|
||
streams.setUncaughtExceptionHandler(e -> { |
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.
Updated this part of the code as the streams#setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler handler)
method is deprecated
|
||
final Properties streamsProperties = Utils.loadProps(propFileName); | ||
|
||
System.out.println("StreamsTest instance started (StreamsUpgradeTest v2.7)"); |
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.
Should be updated to 2.8
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.
Ack
|
||
@Override | ||
public void init(final ProcessorContext context) { | ||
System.out.println("[2.6] initializing processor: topic=data taskId=" context.taskId()); |
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.
Should be updated to 2.8 (Seem to be a c&p error) could you fix this in 2.7
and update to 2.7
?
Maybe worth to introduce a variable that encodes the version?
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.
Updated the version to 2.8.
\cc @vvcephei who was RM for 2.8 for tracking. |
Can we also add some of the newer versions to |
|
||
# broker 0.10.0 is not compatible with newer Kafka Streams versions | ||
broker_upgrade_versions = [str(LATEST_0_10_1), str(LATEST_0_10_2), str(LATEST_0_11_0), str(LATEST_1_0), str(LATEST_1_1), \ | ||
str(LATEST_2_0), str(LATEST_2_1), str(LATEST_2_2), str(LATEST_2_3), \ | ||
str(LATEST_2_4), str(LATEST_2_5), str(LATEST_2_6), str(LATEST_2_7), str(DEV_BRANCH)] | ||
str(LATEST_2_4), str(LATEST_2_5), str(LATEST_2_6), str(LATEST_2_7), str(LATEST_2_8), str(DEV_BRANCH)] |
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.
I noticed we are updating the versions for one test (test_upgrade_downgrade_brokers), but not for the other one (test_metadata_upgrade)
The metadata_1_versions and metadata_2_versions are the versions used in this test. Should we keep updating those as well? I'm not super familiar with the streams tests here, only noticed this when running the system test files changed in this PR.
The tests that were not ignored passed btw :)
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.
Added v2.0 and above to the metadata_upgrade test. As per KIP-268, one rolling restart is enough for apps upgrading from 2.x to the latest version. I kept the test behavior unchanged, we can fix this later if required in a follow-up PR. Yeah, the upgrade_downgrade_brokers test was already disabled, so adding versions to this test won't help.
Sorry for late reply.
Hi @kamalcph , what's the status of this PR? I noticed there are some unresolved code review comments, and there are some conflicts. |
I'll address the pending review comments and resolve the conflicts. |
@vvcephei
The metadata_upgrade test fails for versions above 2.4.1 with |
Thanks, @kamalcph ! I'll take a look now. |
Hmm, I had some trouble with the required pip version... I went ahead and kicked off https://jenkins.confluent.io/job/system-test-kafka-branch-builder/4586/ while I debug my local env. |
I haven't verified it, but I think your problem is that you needed to do |
|
||
metadata_1_versions = [str(LATEST_0_10_0)] | ||
metadata_2_versions = [str(LATEST_0_10_1), str(LATEST_0_10_2), str(LATEST_0_11_0), str(LATEST_1_0), str(LATEST_1_1)] | ||
metadata_3_10_versions = [str(LATEST_2_0), str(LATEST_2_1), str(LATEST_2_2), str(LATEST_2_3), str(LATEST_2_4), |
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.
What is 3_10
?
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.
It's probably a typo, but it didn't matter, since this was the wrong test to add new versions to, anyway. I backed out these changes and added the missing versions to streams_application_upgrade_test.py.
System.out.println(name ": FATAL: An unexpected exception is encountered: " e); | ||
e.printStackTrace(System.out); | ||
uncaughtException = true; | ||
return StreamsUncaughtExceptionHandler.StreamThreadExceptionResponse.SHUTDOWN_CLIENT; |
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.
Wondering if we should stop the whole app for this case? \cc @vvcephei
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.
That probably makes more sense, but this more closely mimics the previous behavior of the test. I think I'll leave it to someone who's feeling energetic to make this change and test it.
@Override | ||
public void init(final ProcessorContext context) { | ||
super.init(context); | ||
System.out.println("[DEV] initializing processor: topic=" topic " taskId=" context.taskId()); |
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.
Why DEV
-- should be 2.8
?
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.
Good eye :)
Ok, I figured it out. The problem was that this change was adding the new version(s) to the metadata upgrade test, but there isn't a metadata upgrade between 2.x and 3.0. Since we're down to the wire now, I just went ahead and pushed a fix to this branch. It passes for me locally now:
|
I went ahead and kicked off a full system test build to evaluate the other tests that got changed in this PR: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/4633/console |
@vvcephei |
Thanks @kamalcph . Sorry it took me so long to look into it. |
There were a number of failures in the prior run. Some were timeouts, and some of the Streams failures were due to the HA assignor giving only standbys to some nodes. I spot-checked by re-running a few of the tests locally and confirmed that they were flaky failures. I re-ran the tests (https://jenkins.confluent.io/job/system-test-kafka-branch-builder/4635/)
I'll keep an eye on that test run to make sure it's clean. |
There were still 21 test failures, but they do not look related to this change. There are also fixes ongoing in parallel to other tests, so I'm going to go ahead and merge this one. If it turns out to be the cause of new problems, we should just revert it. |
…0602) Also adjusted the acceptable recovery lag to stabilize Streams tests. Reviewers: Justine Olshan <[email protected]>, Matthias J. Sax <[email protected]>, John Roesler <[email protected]>
…ache#10602) Also adjusted the acceptable recovery lag to stabilize Streams tests. Reviewers: Justine Olshan <[email protected]>, Matthias J. Sax <[email protected]>, John Roesler <[email protected]>
./gradlew streams:testAll
to verify the streams upgrade test.Committer Checklist (excluded from commit message)