This page is meant as a template for writing a KIP. To create a KIP choose Tools->Copy on this page and modify with your content and replace the heading with the next KIP number and a description of your issue. Replace anything in italics with your own description.
Status
Current state: [One of "Under Discussion", "Accepted", "Rejected"]
Discussion thread: here [Change the link from the KIP proposal email archive to your own email thread]
JIRA: here [Change the link from KAFKA-1 to your own ticket]
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
Most data systems provide client tools to connect the data server to inspect data and they will use localhost as the default server(if not specified), for example, `mysql` command will use localhost:3306 if -p and -h are not specified and `zkCli.sh` will use localhost:2181 if -server is not specified, this is convenient when debugging data.
We need to specify --bootstrap-server parameter in almost all command-line tools, which means we would connect to the target server using the ssh command, so it's nicer if we use localhost:9092 as the default bootstrap-server in these commands.
Public Interfaces
This KIP change an argument of several command-line tools, we already supported--bootstrap-server/broker-list/zookeeper in command-line tools, we will use localhost:9092 as default value if none of these params provided.
Command Name | Status | Changes Needed |
---|---|---|
kafka-acls.sh | Supports only --bootstrap-server | add default value |
kafka-broker-api-versions.sh | Supports only --bootstrap-server | add default value |
kafka-cluster.sh | Supports only --bootstrap-server | add default value |
kafka-configs.sh | Supports both --zookeeper and --bootstrap-server | add default value if none of -zookeeper and --bootstrap-server provided |
kafka-console-consumer.sh | Supports only --bootstrap-server | add default value |
kafka-console-producer.sh Supports --bootstrap-server and --broker-list add default value if none of -broker-list and --bootstrap-server provided | ||
kafka-consumer-groups.sh Supports only --bootstrap-server add default value | ||
kafka-consumer-perf-test.sh Supports --bootstrap-server and --broker-list add default value if none of -broker-list and --bootstrap-server provided | ||
kafka-delegation-tokens.sh Supports only --bootstrap-server add default value | ||
kafka-delete-records.sh Supports only --bootstrap-server add default value | ||
kafka-dump-log.sh Supports no server none | ||
kafka-features.sh Supports only --bootstrap-server add default value | ||
kafka-get-offsets.sh Supports --bootstrap-server and --broker-list add default value if none of -broker-list and --bootstrap-server provided | ||
kafka-leader-election.sh Supports only ---bootstrap-server add default value | ||
kafka-log-dirs.sh Supports only ---bootstrap-server add default value | ||
kafka-metadata-shell.sh Supports no server args none kafka-producer-perf-test.sh Supports no server args none | ||
kafka-reassign-partitions.sh Supports only --bootstrap-server add default value | ||
kafka-replica-verification.sh Supports only --broker-list add default value | ||
kafka-run-class.sh Supports no server args none | ||
kafka-streams-application-reset.sh Supports only --bootstrap-server add default value | ||
kafka-topics.sh Supports only --bootstrap-server add default value | ||
kafka-transactions.sh Supports only --bootstrap-server add default value | ||
kafka-verifiable-consumer.sh kafka-verifiable-producer.sh Supports --bootstrap-server and --broker-list add default value if none of -broker-list and --bootstrap-server provided | ||
trogdor.sh Supports no server args none | ||
zookeeper-security-migration.sh zookeeper-server-start.sh zookeeper-server-stop.sh zookeeper-shell.sh Supports only --zookeeper none |
Proposed Changes
New implementation all these commands does not change the interactions between the tool and the brokers, the only change is they can be used without --bootstrap-server(or broker-list)
- For commands supports only --bootstrap-server, they will be used without --bootstrap-server and localhost:9092 is the default value.
- For commands supports only --broker-list, they will be used without --broker-list and localhost:9092 is the default value.
- For commands supports both --bootstrap-server and --broker-list, localhost:9092 is the default value if both --bootstrap-server and --broker-list are not provided.
- For commands supports both --zookeeper and --broker-list, localhost:9092 is the default value if both --bootstrap-server and --zookeeper are not provided.
Compatibility, Deprecation, and Migration Plan
- What impact (if any) will there be on existing users?
- If we are changing behavior how will we phase out the older behavior?
- If we need special migration tools, describe them here.
- When will we remove the existing behavior?
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.