Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

  1. 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.
  2. The only mandatory config in AdminClient is bootstrap.servers, which is also mandatory in KafkaConsumer.

ConsumerConfig

  1. 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.
  2. Some config could possibly reasonably be used to configure the tool, they are listed as follows: 
configConsumer behaviorAdminClient behaviorDescription
default.api.timeout.msThe 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.msOnly used in ConsumerCoordinatornot usedhave 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.

...