hachikuji commented on code in PR #12108:
URL: https://github.com/apache/kafka/pull/12108#discussion_r865377321


##########
metadata/src/main/java/org/apache/kafka/controller/ConfigurationControlManager.java:
##########
@@ -215,13 +215,17 @@ private void 
incrementalAlterConfigResource(ConfigResource configResource,
                     }
                     List<String> newValueParts = getParts(newValue, key, 
configResource);
                     if (opType == APPEND) {
-                        if (!newValueParts.contains(opValue)) {
-                            newValueParts.add(opValue);
+                        for (String value: opValue.split(",")) {
+                            if (!newValueParts.contains(value)) {

Review Comment:
   Do we have an integration test which covers the case when the appended value 
is already present? It kind of looks like the zk path doesn't handle that.
   
   By the way, I found the naming a little confusing here. I think 
`newValueParts` should be `currentValueParts` or something like that.



##########
core/src/test/scala/integration/kafka/api/PlaintextAdminIntegrationTest.scala:
##########
@@ -1751,13 +1777,32 @@ class PlaintextAdminIntegrationTest extends 
BaseAdminIntegrationTest {
       new AlterConfigOp(new ConfigEntry(LogConfig.CleanupPolicyProp, 
LogConfig.Compact + "," + LogConfig.Delete), AlterConfigOp.OpType.SUBTRACT)
     ).asJavaCollection
 
-    alterResult = client.incrementalAlterConfigs(Map(
+    alterConfigs = Map(
       topic1Resource -> topic1AlterConfigs,
       topic2Resource -> topic2AlterConfigs
-    ).asJava)
+    )
+    alterResult = client.incrementalAlterConfigs(alterConfigs.asJava)
     assertEquals(Set(topic1Resource, topic2Resource).asJava, 
alterResult.values.keySet)
     alterResult.all.get
 
+    if (isKRaftTest()) {

Review Comment:
   I agree having some utilities would be nice. Rather than having something 
really specific, maybe we just need a utility which waits until the brokers 
have caught up to the controller end offset?



##########
metadata/src/main/java/org/apache/kafka/controller/ConfigurationControlManager.java:
##########
@@ -215,13 +215,17 @@ private void 
incrementalAlterConfigResource(ConfigResource configResource,
                     }
                     List<String> newValueParts = getParts(newValue, key, 
configResource);
                     if (opType == APPEND) {
-                        if (!newValueParts.contains(opValue)) {
-                            newValueParts.add(opValue);
+                        for (String value: opValue.split(",")) {

Review Comment:
   nit: conventionally we put a space before the colon



-- 
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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to