'Why would client.id created by default with kafka stream application contain random UUID

The following are the summary of my understanding of how client.id will be created under stream app:

  • If client.id field is unset, then all consumers and producers under the same stream application will have client.id created with the application.id + UUID.

  • If client.id is set, then the value will be used instead of the default application.id + UUID combo.

However I'm trying to understand the intention behind using the random UUID for the client.id field as the default behaviour. As far as I understand, the client.id field is an optional user input which is used for logging and monitoring purposes. So removing the UUID from client.id by manually setting a value should not break any topology logic or partition assignment.

If my understand of client.id is correct then what is the actual reasoning behind using the UUID as the default behaviour?

Thanks in advance, much appreciated!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source