[ISSUE #3369][FEAT]create topic with broker addr or name or none #1087
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is the purpose of the change
Create Topic with optional argument:
createTopicAPI with addressgetBrokerClusterInfo, then resolve name to address, then invoke APIcreateTopicon all addresses thatgetBrokerClusterInforeturned.Brief changelog
GetBrokerClusterInfoof Admin interface. in the meanwhile, there are integer type keys in RocketMQ Java Server response ofGetBrokerClusterInfo, Golang JSON library cannot unmarshal them directly. So I fixed the JSON didn't conform to the JSON specification (JSON keys should always be strings, don't use int as a key).rocketmq-client-go/admin/admin.go
Line 39 in 7eedaf9
CreateTopicimplementation like sarama, withoutbrokerAddras input.rocketmq-client-go/admin/admin.go
Line 158 in 7eedaf9
createTopicto avoid override same name topic configuration. for back compatibility, it is false by default.Verifying this change
I've update the
examples/admin/topic/main.gofile, which demonstrates all new features such as:furthermore, I also wrote UnitTest and BenchmarkTest for JSON integer key rectify function.
Related to apache/rocketmq#3369
Follow this checklist to help us incorporate your contribution quickly and easily. Notice,
it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.[ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.