Thanks for the KIP! Overall LGTM.

I agree that we don't need a two-phase approach.

Interesting question if we would want to verify `bootstrap.server` earlier too. In general, I am open to this idea but wondering if it would expand the scope of this KIP too much? Also, if we would want to do this, would we want to do this for consumer/producer/admin client too? The problem for theses clients is, that they only accept `Properties` as a parameter but `ConsumerConfig` (even if technically public API) is not a parameter the consumer constructor accepts and thus fail-faster is not really possible w/o make larger changes. So for consistency, it might be better to also keep Kafka Streams as-is for now, and if we really want to do this, do it with it's own KIP covering all clients?

Re-using `parseAndValidateAddresses` is also an interesting idea, but sounds more like an implementation detail? Don't think we would need to make this part of the KIP discussion. -- Some functionality does not really apply to `application.server` though, in particular the DNS lookup part. In the end, `application.server` is a config that Kafka Streams only distributes to all client to allow users to implement a IQ routing laying, and the user code would use `application.server` to actually open network connections, but not Kafka Streams. So maybe there is no reason to go overboard?


-Matthias



On 12/12/25 2:50 PM, Nikita Shupletsov wrote:
Hi Sanghyeok,

Thanks a lot for updating the KIP.
LGTM, but I would like to ask someone more experienced to take a look
at the approach.
Also: the client has this this validation for bootstrap.servers:
`org.apache.kafka.clients.ClientUtils#parseAndValidateAddresses`,
which similar to what the KIP is proposing for application.server, but
with a couple extra features on top. Have you seen it? also, as we
want to fail fast if application.server is invalid, should we fail
fast for bootstrap.servers?
Sorry for asking one question at a time, I am learning on the go.

On Tue, Dec 9, 2025 at 5:08 AM 안상혁 <[email protected]> wrote:

Hi Nikita,

Thanks again for pointing me to KIP-1161.

I have updated the KIP as we discussed:
- Removed the two phase rollout with a warning first and an error later
- Added a ConfigDef.Validator for application.server in StreamsConfig
- Clarified that the validator reuses the existing HostInfo endpoint parsing 
logic and only moves the existing failure earlier to configuration time

Since applications with an invalid application.server value already fail today 
when HostInfo parses the endpoint,
this change should not affect any correctly working applications, but it makes 
the error surface earlier and more explicit.

When you have time, I would appreciate it if you could take another look and 
let me know whether the updated text matches your expectations.

Best regards,
Sanghyeok An

Reply via email to