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]

Reply via email to