...
The only incompatible change is the --command-config param, currently the property file will be passed to KafkaConsumer Client, In this KIP, we change it to the property file of AdminClient, here are some differences:
...
we list the difference in two sections.
AdminClientConfig
- Only one AdminClientConfig is not presented in ConsumerConfig which is
retries
, and it is not mandatory for AdminClient with default value=Integer.MaxValue, so this has a very little effect on the client. - The only mandatory config in AdminClient is bootstrap.servers, which is also mandatory in KafkaConsumer.
ConsumerConfig
- Most ConsumerConfig would not reasonably be used to configure the tool, for example, group.id and key.deserializer, they will be ignored by AdminClient and which has no influence on the tool.
- Some config could possibly reasonably be used to configure the tool, they are listed as follows:
config | Consumer behavior | AdminClient behavior | Description |
---|---|---|---|
default.api.timeout.ms | The consumer will retry until the timeout is reached | The AdminClient will retry until the timeout is reached or the number of retries exceeds the limit | AdminClient does the same with Consumer since the default of `retries` is In Integer.MaxValue and have the same default timeout value |
session.timeout.ms | Only used in ConsumerCoordinator | not used | have no effect to remove this config |
request.timeout.ms | This is used when getting end offsets, I think this is a impletion gap of KIP-266 and should be fixed by using default.api.timeout.ms | Will use default.api.timeout.ms instead of request.timeout.ms , This is a small bug and will be fixed in a separate PR |
So we can conclude this is a compatible change and the the transition won't be noticed.
...