Versions Compared

Key

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

...

There is no compatibility issue as we are adding a new field to an existing data structure (DescribeConfigsOptions). If the field is not specified then the code will behave in same manner as existing code. The same applies to changes to the kafka-topics tool, as we are adding new options and existing options will continue to behave as is.

Rejected Alternatives

If there are alternative ways of accomplishing the same thing, what were they? The purpose of this section is to motivate why the design is the way it is and not some other way.We considered adding configurationKeys collection directly to the ConfigResource object so that user can specify different type of resources and for each one of them they can also specify the configurations to fetch. This avoid the issue #2 mentioned above in the Proposed Changes  section. However, ConfigResource class is widely used outside of this api (over 300 usages) and is meant to represent a resource that has configurations. The new configuraiton key field will be of no use in all these other cases, so we decided to not pursue this approach.