在配置ns-isolation-policy 的时候broker的配置不能采用hostname:端口
- Dominant language
- Java
- Stars
- 15.3k
- Forks
- 3.8k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 160
Description
1 用命令行列出broker的时候
bin/pulsar-admin brokers list
“hostname1:8080”
“hostname2:8080”
“hostname3:8080”
bin/pulsar-admin ns-isolation-policy brokers
{
"brokerName" : "hostname1:8080",
"namespaceRegex" : [ ],
"primary" : false
}
{
"brokerName" : "hostname2:8080",
"namespaceRegex" : [ ],
"primary" : false
}
{
"brokerName" : "hostname3:8080",
"namespaceRegex" : [ ],
"primary" : false
}
2 bin/pulsar-admin ns-isolation-policy set 省略其他参数 --primary hostname1:8080 --secondary hostname2:8080
可以设置 但是无效
3 bin/pulsar-admin ns-isolation-policy set 省略其他参数 --primary hostname1 --secondary hostname2
可以设置 有效
建议1:统一broker list的格式
5月份的开发组沟通会上确认,设置不识别:8080 但是 这个却在 bin/pulsar-admin brokers list 和 bin/pulsar-admin ns-isolation-policy brokers 出现,这个就会很大的误导用户,我一直以为pulsar认可的broker只是和自己list出来的broker的形式是一样,建议list也不要有端口 或者支持端口形式的ns-isolation-policy
建议2:至少校验primary 的broker 参数是否能匹配到broker 不能匹配应该报错。
校验 如果我设置的--primary 格式不正确或者集群里面匹配不到一台broker 应该报错,如果这不报错 非要等到命中规则报错,那命中规则是我创建了一个topic 这个topic无法分配 然后 cannot lookup 这个就如果是一个人配置的还好 多人配置那查起来就蒙圈了。
Contributor guide
Research direction
Start by tracing the ns-isolation-policy set and brokers list command paths, then compare how broker names with ports are parsed and matched. Determine whether port-form names should be supported consistently or rejected, and verify that an unmatched primary broker produces an immediate validation error rather than failing during topic assignment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100