...
Binary log format
The network protocol and api behavior
Any class in the public packages under clientsConfiguration, especially client configuration
org/apache/kafka/common/serialization
org/apache/kafka/common
org/apache/kafka/common/errors
org/apache/kafka/clients/producer
org/apache/kafka/clients/consumer (eventually, once stable)
Monitoring
Command line tools and arguments
- Anything else that will likely break existing users in some way when they upgrade
API Changes
Admin
Code Block |
---|
public interface Admin {
. . .
public ListConsumerGroupsOptions listGroups();
public ListConsumerGroupsOptions ListGroups(ListGroupsOptions options);
} |
ListGroupsOptions
Code Block |
---|
public class ListGroupsOptions {
public ListGroupsOptions inStates(Set<GroupState> states);
public ListGroupsOptions inTypes(Set<GroupType> types);
} |
ListGroupsResult
Code Block |
---|
public class ListGroupsResult {
public KafkaFuture<Collection<GroupListing>> all();
public KafkaFuture<Collection<GroupListing>> valid();
public KafkaFuture<Collection<GroupListing>> errors();
} |
GroupListing
Code Block |
---|
public class GroupListing {
public String groupId();
public Optional<GroupState> state();
public Optional<GroupType> type();
} |
GroupType
Code Block |
---|
public enum GroupType {
CONSUMER("consumer"),
GENERIC("generic");
} |
ListConsumerGroupsOptions
Mark deprecated
ListConsumerGroupsResult
Mark deprecated
ConsumerGroupsListing
Mark deprecated
Command-line Tools
What about kafka-consumer-groups.sh
, ConsumerGroupCommand
, etc.?
Proposed Changes
Describe the new thing you want to do in appropriate detail. This may be fairly extensive and have large subsections of its own. Or it may be a few sentences. Use judgement based on the scope of the change.
ConsumerGroupHeartbeat API
Admin API changes
ListConsumerGroupsOptions
Compatibility, Deprecation, and Migration Plan
...