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]