FrankChen021 commented on code in PR #19528:
URL: https://github.com/apache/druid/pull/19528#discussion_r3317733926


##########
server/src/main/java/org/apache/druid/server/DruidNode.java:
##########
@@ -130,12 +131,12 @@ public DruidNode(
    */
   @JsonCreator
   public DruidNode(
-      @JacksonInject @Named("serviceName") @JsonProperty("service") String 
serviceName,
+      @JacksonInject(useInput = OptBoolean.TRUE) @Named("serviceName") 
@JsonProperty("service") String serviceName,

Review Comment:
   [P1] Preserve useInput through the Guice introspector
   
   These annotations do not survive the production config mapper path. 
DruidSecondaryModule installs GuiceAnnotationIntrospector, whose 
findInjectableValue returns JacksonInject.Value.forId(id), rebuilding the 
JacksonInject.Value from the Guice Key and dropping the annotation's useInput 
flag. JsonConfigProvider uses that mapper for DruidNode from druid.* 
properties, so after the Jackson 2.21 bump configured service/port/tlsPort 
values can still lose to injected defaults despite these annotations. Please 
preserve the annotation's useInput value when replacing the injectable id, and 
add a Guice-configured DruidNode config test.



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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to