dajac opened a new pull request, #23491:
URL: https://github.com/apache/kafka/pull/23491
ServerSideAssignorBenchmark only covers one shape of consumer group:
topics of equal size, disjoint heterogeneous subscriptions, and a single
incremental event, one member joining. It also derives the number of
partitions per topic from a ratio, which gives topics without partitions
at some grid points, and gives racks to the members but not to the
partition replicas.
This patch replaces it with ConsumerAssignorBenchmark. Its parameters
are independent so that any combination can be selected:
- memberCount, topicCount and partitionCount (the total) replace the
ratio;
- topology: EQUAL, or SKEWED with a few large topics and many small
ones;
- subscription: HOMOGENEOUS, HETEROGENEOUS_DISJOINT, or
HETEROGENEOUS_NESTED where topics are shared by several groups of
members;
- rack: NONE, or PROVIDED with the members spread over the three racks
of the brokers and every partition replicated in two of them;
- event: FULL, STABLE, JOIN_ONE, JOIN_MANY, LEAVE_ONE, LEAVE_MANY and
PARTITIONS_ADDED, the group always having memberCount members when
the assignment is measured.
The benchmark builds its own cluster metadata and group spec with a
small builder, so AssignorBenchmarkUtils is unchanged. The class
documentation describes the parameters and gives the runs to use for
reports.
Testing: the three documented runs were run through jmh.sh over the
full grid of their parameters, 1566 points, without failures. The
groups built by the benchmark were also checked on a small grid: every
partition assigned exactly once, the right members and held partitions
for every event, and deterministic results.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]