chia7712 commented on code in PR #18845:
URL: https://github.com/apache/kafka/pull/18845#discussion_r1956525411


##########
metadata/src/main/java/org/apache/kafka/image/node/MetadataNode.java:
##########
@@ -53,7 +53,8 @@ default void print(MetadataNodePrinter printer) {
         for (String name : names) {
             printer.enterNode(name);
             MetadataNode child = child(name);
-            child.print(printer);
+            if (child != null)
+                child.print(printer);

Review Comment:
   In reading the code of child, I notice that it seems the `AclsImageByIdNode` 
is misplaced. 
   
   ```
       private static final Map<String, Function<MetadataImage, MetadataNode>> 
CHILDREN = Map.of(
            ...
            // AclsImageByIdNode should be replaced by AclsImageNode
           AclsImageNode.NAME, image -> new AclsImageByIdNode(image.acls()),
           ScramImageNode.NAME, image -> new ScramImageNode(image.scram()),
           DelegationTokenImageNode.NAME, image -> new 
DelegationTokenImageNode(image.delegationTokens())
       );
   ```
   
https://github.com/apache/kafka/blob/48283ad2e54133ebb604769dc8a72706e07f36e7/metadata/src/main/java/org/apache/kafka/image/node/MetadataImageNode.java#L46
   
   and `AclsImage#toString` has similar issue.
   ```
       @Override
       public String toString() {
           // AclsImageByIdNode should be replaced by AclsImageNode
           return new AclsImageByIdNode(this).stringify();
       }
   ```
   
   
https://github.com/apache/kafka/blob/trunk/metadata/src/main/java/org/apache/kafka/image/AclsImage.java#L78
   
   @ijuma @mumrah WDYT?
   



-- 
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