KAFKA-16922 : Adding unit tests for NewTopic #16255
Conversation
|
@chia7712 can you pls take a look ? |
chia7712
left a comment
There was a problem hiding this comment.
@muralibasani thanks for offering so many great test cases!
| CreateTopicsRequestData.CreatableTopic creatableTopic = topic.convertToCreatableTopic(); | ||
|
|
||
| assertEquals(TEST_TOPIC, creatableTopic.name()); | ||
| assertEquals(NO_NUM_PARTITIONS, creatableTopic.numPartitions()); |
There was a problem hiding this comment.
Could you please add test case that CreateTopicsRequestData.CreatableTopic#numPartitions and CreateTopicsRequestData.CreatableTopic#replicationFactor return positive value?
There was a problem hiding this comment.
Ah yes, added one.
| @Test | ||
| public void testConfigs() { | ||
| NewTopic newTopic = new NewTopic(TEST_TOPIC, NUM_PARTITIONS, (short) REPLICATION_FACTOR); | ||
| Map<String, String> configs = new HashMap<>(); |
There was a problem hiding this comment.
Could you verify that newTopic.configs() will return null if it has no configs
There was a problem hiding this comment.
Indeed, added one.
|
|
||
| public static final String TEST_TOPIC = "testtopic"; | ||
| public static final int NUM_PARTITIONS = 3; | ||
| public static final int REPLICATION_FACTOR = 1; |
There was a problem hiding this comment.
Maybe we can change the type from int to short?
There was a problem hiding this comment.
Ah yes, updated.
|
@chia7712 looks like the failed tests in the ci are unrelated. |
chia7712
left a comment
There was a problem hiding this comment.
@muralibasani thanks for this patch. those tests are great to me. The last two comments are left. PTAL
| NewTopic newTopic = new NewTopic(TEST_TOPIC, replicasAssignments); | ||
| Map<Integer, List<Integer>> returnedAssignments = newTopic.replicasAssignments(); | ||
|
|
||
| assertThrows(UnsupportedOperationException.class, () -> { |
There was a problem hiding this comment.
it seems this can be simplified to assertThrows(UnsupportedOperationException.class, () -> returnedAssignments.put(1, Arrays.asList(3, 4)));
| public void testToString() { | ||
| NewTopic topic = new NewTopic(TEST_TOPIC, NUM_PARTITIONS, REPLICATION_FACTOR); | ||
| String expected = "(name=" + TEST_TOPIC + ", numPartitions=" + NUM_PARTITIONS + ", replicationFactor=" + REPLICATION_FACTOR + ", replicasAssignments=null, configs=null)"; | ||
| assertEquals(expected, topic.toString()); |
There was a problem hiding this comment.
maybe we can verify the non-null configs/assignments too?
There was a problem hiding this comment.
Nice one, updated.
|
@muralibasani thanks for this nice test! |
|
@chia7712 thank you for the great review. |
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
commit 9368ef8 Author: Gantigmaa Selenge <39860586+tinaselenge@users.noreply.github.com> Date: Wed Jun 12 16:04:24 2024 +0100 KAFKA-16865: Add IncludeTopicAuthorizedOperations option for DescribeTopicPartitionsRequest (apache#16136) Reviewers: Mickael Maison <mickael.maison@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>, Calvin Liu <caliu@confluent.io>, Andrew Schofield <andrew_schofield@live.com>, Apoorv Mittal <amittal@confluent.io> commit 46eb081 Author: gongxuanzhang <gongxuanzhang@foxmail.com> Date: Wed Jun 12 22:23:39 2024 +0800 KAFKA-10787 Apply spotless to log4j-appender, trogdor, jmh-benchmarks, examples, shell and generator (apache#16296) Reviewers: Chia-Ping Tsai <chia7712@gmail.com> commit 79b9c44 Author: gongxuanzhang <gongxuanzhang@foxmail.com> Date: Wed Jun 12 22:19:47 2024 +0800 KAFKA-10787 Apply spotless to connect module (apache#16299) Reviewers: Chia-Ping Tsai <chia7712@gmail.com> commit b5fb654 Author: Abhijeet Kumar <abhijeet.cse.kgp@gmail.com> Date: Wed Jun 12 19:47:46 2024 +0530 KAFKA-15265: Dynamic broker configs for remote fetch/copy quotas (apache#16078) Reviewers: Kamal Chandraprakash<kamal.chandraprakash@gmail.com>, Satish Duggana <satishd@apache.org> commit faee6a4 Author: Dmitry Werner <grimekillah@gmail.com> Date: Wed Jun 12 15:44:11 2024 +0500 MINOR: Use predetermined dir IDs in ReplicationQuotasTest Use predetermined directory IDs instead of Uuid.randomUuid() in ReplicationQuotasTest. Reviewers: Igor Soarez <soarez@apple.com> commit 638844f Author: David Jacot <djacot@confluent.io> Date: Wed Jun 12 08:29:50 2024 +0200 KAFKA-16770; [2/2] Coalesce records into bigger batches (apache#16215) This patch is the continuation of apache#15964. It introduces the records coalescing to the CoordinatorRuntime. It also introduces a new configuration `group.coordinator.append.linger.ms` which allows administrators to chose the linger time or disable it with zero. The new configuration defaults to 10ms. Reviewers: Jeff Kim <jeff.kim@confluent.io>, Justine Olshan <jolshan@confluent.io> commit 39ffdea Author: Bruno Cadonna <cadonna@apache.org> Date: Wed Jun 12 07:51:38 2024 +0200 KAFKA-10199: Enable state updater by default (apache#16107) We have already enabled the state updater by default once. However, we ran into issues that forced us to disable it again. We think that we fixed those issues. So we want to enable the state updater again by default. Reviewers: Lucas Brutschy <lbrutschy@confluent.io>, Matthias J. Sax <matthias@confluent.io> commit 0782232 Author: Antoine Pourchet <antoine@responsive.dev> Date: Tue Jun 11 22:31:43 2024 -0600 KAFKA-15045: (KIP-924 pt. 22) Add RackAwareOptimizationParams and other minor TaskAssignmentUtils changes (apache#16294) We now provide a way to more easily customize the rack aware optimizations that we provide by way of a configuration class called RackAwareOptimizationParams. We also simplified the APIs for the optimizeXYZ utility functions since they were mutating the inputs anyway. Reviewers: Anna Sophie Blee-Goldman <ableegoldman@apache.org> commit 226ac5e Author: Murali Basani <muralidhar.basani@aiven.io> Date: Wed Jun 12 05:38:50 2024 +0200 KAFKA-16922 Adding unit tests for NewTopic (apache#16255) Reviewers: Chia-Ping Tsai <chia7712@gmail.com> commit 23fe71d Author: Abhijeet Kumar <abhijeet.cse.kgp@gmail.com> Date: Wed Jun 12 06:27:02 2024 +0530 KAFKA-15265: Integrate RLMQuotaManager for throttling copies to remote storage (apache#15820) - Added the integration of the quota manager to throttle copy requests to the remote storage. Reference KIP-956 - Added unit-tests for the copy throttling logic. Reviewers: Satish Duggana <satishd@apache.org>, Luke Chen <showuon@gmail.com>, Kamal Chandraprakash<kamal.chandraprakash@gmail.com> commit 2fa2c72 Author: Chris Egerton <chrise@aiven.io> Date: Tue Jun 11 23:15:07 2024 +0200 MINOR: Wait for embedded clusters to start before using them in Connect OffsetsApiIntegrationTest (apache#16286) Reviewers: Greg Harris <greg.harris@aiven.io>
Resolves https://issues.apache.org/jira/browse/KAFKA-16922
Adding unit tests for org.apache.kafka.clients.admin.NewTopic
Committer Checklist (excluded from commit message)