Current state: Accepted
Discussion thread: (skipped discussion) [VOTE] KIP-528: Deprecate PartitionGrouper configuration and interface
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
PartitionGrouper interface was originally exposed to allow user a higher degree of flexibility with regard to partition to task mapping. However, Kafka Streams runtime employs many undocumented restrictions to write a correct
PartitionGrouper and hence it is easy for users to break the runtime that way.
In practice, we have not seen the usage of the interface. Hence, we should deprecate and eventually remove it.
We suggest to deprecate
PartitionGrouper interface and its corresponding configuration parameter and to remove both in the next major release 3.0.0.
Compatibility, Deprecation, and Migration Plan
As we are only deprecating an interface and a configuration parameter, there are not backward compatibility concerns.