Versions Compared

Key

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

Table of Contents

Status

Current state"Under Discussion"Accepted

Discussion thread: TODO(skipped discussion) [VOTE] KIP-528: Deprecate PartitionGrouper configuration and interface

JIRA:

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-8927

...

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

The 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.

Public Interfaces


Code Block
languagejava
package org.apache.kafka.streams.processor;

@deprecate
public interface PartitionGrouper {...}

@deprecate
public class DefaultPartitionGrouper implements PartitionGrouper {...}

// ----------

package org.apache.kafka.streams;

public class StreamConfig {
    @depredate
	public static final String PARTITION_GROUPER_CLASS_CONFIG = "partition.grouper";
}

...