MINOR: Rolling bounce upgrade fixed broker system test#4690
MINOR: Rolling bounce upgrade fixed broker system test#4690mjsax merged 12 commits intoapache:trunkfrom
Conversation
|
@bbejeck you'll need to rebase from trunk, the jenkins failures are related to that. |
There was a problem hiding this comment.
This line is a bit hard to understand, a prerequisite .. if ... but there is no is what.. to me, or is it concatenated from the previous sentence?
There was a problem hiding this comment.
nit: Maybe rename to StreamsTestDriver to be consistent with other services under streams.py.
There was a problem hiding this comment.
Since this extends KafkaTest and isn't a service itself, what do you think about StreamsTestBase or BaseStreamsTest?
There was a problem hiding this comment.
Good point, BaseStreamsTest is fine.
There was a problem hiding this comment.
Maybe just add LATEST_1_1 here as well, though we are not going to use it yet?
There was a problem hiding this comment.
That causes some problems with the dockerfile, since we'd have to download our test jar from the mirror, but it's not there yet. In fact, 1.0.0 is the latest package in the mirror.
There was a problem hiding this comment.
Those files are uploaded manually for the docker setup. I'll take care of it.
There was a problem hiding this comment.
Could we do @matrix(broker_version =["...", ...} as we did in simple benchmark?
3d3dcc0 to
75bf4b3
Compare
|
rebased and updated per comments. Also since we'd have to wait for this PR for merging to refactor the other tests, I've went ahead and updated the other tests mentioned above to remove the common functionality and extend from the base test class Re-running system tests now. |
|
updated with new system test results. standby replica system test result |
|
LGTM! FYI: you'll also want to update the Dockerfile, but I have it updated in my PR, so I reckon it doesn't matter (#4689) |
|
retest this please |
mjsax
left a comment
There was a problem hiding this comment.
Just did a high level review atm.
There was a problem hiding this comment.
Added 0.10.1 I was thinking 0.10.2 was the first version we could do a rolling upgrade from. I've left out 1.1.0 for the moment as I was thinking this PR will be merged before the 1.1 release.
EDIT the package name of StreamsSoakTest is different in 0.10.1 I think @vvcephei ran into the same issue in #4689. The decision there was to leave out 0.10.1 so IMHO we should do the same here.
There was a problem hiding this comment.
Don't we need to set version 0.10.1 for those initially? Otherwise, they will have trunk version
There was a problem hiding this comment.
on line 84 of upgrade_and_verify_start method, we set the version with the first version from the array and start the node, so they all start with earliest specified.
|
updated this |
6805b2d to
e457564
Compare
|
rebased this |
| self.update_processors_and_verify(self.streams_upgrade_versions) | ||
|
|
||
| # with order reversed now we test downgrading, verification run after each downgrade | ||
| self.update_processors_and_verify(self.streams_downgrade_versions) |
There was a problem hiding this comment.
Don't we need to stop all processor at the end?
|
updated this and kicked off new system test https://jenkins.confluent.io/job/system-test-kafka-branch-builder/1499/. EDIT: Tests passed |
|
ping @mjsax and @guozhangwang for merging |
|
Retest this please |
|
retest this please |
3 similar comments
|
retest this please |
|
retest this please |
|
retest this please |
|
All tests pass now, call for final review and merging |
vvcephei
left a comment
There was a problem hiding this comment.
This lgtm.
Your implementation has got me thinking about refactoring the cross-version upgrade/downgrade test to set up the brokers just once and do a bunch of cross-grades like you've done. I think that test would run much faster that way. Something for when I'm on call, maybe...
|
Merged to |
Reviewers: Guozhang Wang <guozhang@confluent.io>, John Roesler <john@confluent.io>, Matthias J. Sax <matthias@confluent.io>
This introduces a system test where we do a rolling bounce upgrade of streams application instances against a fixed broker version. Each broker version starting with
0.10.2up totrunkis tested. Streams applications start at0.10.2and do rolling upgrades up totrunkthen do rolling downgrades back to0.10.2.This PR also includes a new utility class for Streams systems tests
StreamsTestwhich extendsKafkaTestand provides some convenience methods for working withVerifiableProducerandVerfiiableConsumerand validating results in log files.There are other system tests
streams_standby_replica_test.pyandstreams_broker_down_resilience_test.pyusing common functionality that can be pulled out and extend theStreamsTestclass instead. I'll do that in a follow-on PR.EDIT: Since the base class
StreamsTestonly exists in this PR so far, I've refactored the other tests as mentioned above.I tested this by running branch builder https://jenkins.confluent.io/job/system-test-kafka-branch-builder/1430/
Committer Checklist (excluded from commit message)