MINOR: System tests for Raft-based metadata quorums#10105
MINOR: System tests for Raft-based metadata quorums#10105cmccabe merged 38 commits intoapache:trunkfrom
Conversation
f770c6e to
d55b05a
Compare
|
There are 6 failing tests across these 3 test classes: kafka.server.KafkaConfigTest AutoTopicCreationManagerTest MetadataRequestWithForwardingTest |
bf87698 to
038f933
Compare
e4f309f to
e533cb5
Compare
No need to invoke dynamicConfig.initialize() at all when using Raft
Fix formatting and make variables private as per review
Revert optional nodeId in SocketServer: aliasing makes it unnecessary
Exclude Raft controller nodes from Produce magic version determination
Fix responsibility for startup/shutdown of alterisr/forwarding managers
Fix BrokerServer log ident
Invoke replicaManager.endMetadataChangeDeferral() before starting up
Fix compile error
Return random active broker ID for Raft-based controller ID
Ignore reserved.broker.max.id for Raft-based cases
Cleanup KafkaConfig and tests related to {broker,node}.id
Fix bug in initializeLogDirs()
Add NetworkChannel.updateEndpoint(int id, RaftConfig.InetAddressSpec address)
fix compile error
revert old forwarding code
Refactor envelope handling logic into a common place
Add EnvelopeUtils
Add ControllerServer
07f6c86 to
11a000b
Compare
| compile project(':clients') | ||
| compile libs.jacksonDatabind | ||
| compile libs.jacksonJDK8Datatypes | ||
| compile libs.metrics |
There was a problem hiding this comment.
Let's file a JIRA to discuss whether the metadata module should use Kafka metrics or Yammer metrics.
There was a problem hiding this comment.
file a JIRA to discuss whether the metadata module should use Kafka metrics or Yammer metrics.
https://issues.apache.org/jira/browse/KAFKA-12348
cc: @cmccabe
There was a problem hiding this comment.
thanks. I think this will be a post-2.8 thing
Make epoch bumps implicit in PartitionChangeRecord Always bump the leader epoch of a partition led by a broker in controlled shutdown
|
Tests|Passes|Failures|Ignored|Time Some observations. First, adding the missing @cluster annotations really helped. Running almost 750 tests in under 6 hours is a dramatic improvement. Here’s the stats from a run 2 days ago: Tests|Passes|Failures|Ignored|Time We are running 743/532 = 40% more tests, but we are able to finish in 10% less time. So that’s a big win. We have 130 more tests passing and 80 more tests failing. It is VERY difficult to find the signal amid so much noise. A quick browse through our results shows lots of test failures that are not augmented for Raft at all, and many test that are augmented are failing for both ZK and Raft cases. |
|
Good work spotting the missing |
I think perhaps yes. Is there a need to allow it? A simple oversight generates a significant parallelism hit at this point -- and they compound quickly as evidenced here. |
cmccabe
left a comment
There was a problem hiding this comment.
LGTM. Thanks, @rondagostino !
Add the necessary test annotations to test the new KIP-500 quorum broker mode in many of our ducktape tests. This mode is tested in addition to the classic Apache ZooKeeper mode. This PR also adds a new sanity_checks/bounce_test.py system test that runs through a simple produce/bounce/produce series of events. Finally, this PR adds @cluster annotations to dozens of system tests that were missing them. The lack of this annotation was causing these tests to grab the entire cluster of nodes. Adding the @cluster annotation dramatically reduced the time needed to run these tests. Reviewers: Colin P. McCabe <cmccabe@apache.org>, Ismael Juma <ismael@juma.me.uk> Conflicts: tests/kafkatest/tests/core/get_offset_shell_test.py
Adds a new
sanity_checks/bounce_test.pysystem test for a simple produce/bounce/produce series of events. Augments this and othersanity_checkstests so they run all metadata quorum types: ZooKeeper, remote Raft, and co-located Raft.Augments several
tests/clientandtests/coresystem tests to run for remote Raft-based metadata quorums in addition to ZooKeeper. Co-located Raft controllers are not tested here as this configuration is presumed to work assumingsanity_checksas well as any unit/integration tests pass.Augments a simple set of tests in
tests/connect,tests/streams, andtests/toolsto run for remote Raft-based metadata quorums in addition to ZooKeeper.Adds missing
@clusterannotations for dozens of system tests that were missing them -- this was causing these tests to grab the entire cluster of nodes and negatively impact the parallelism of the system test run.Committer Checklist (excluded from commit message)