apache / apache/pulsar

在配置ns-isolation-policy 的时候broker的配置不能采用hostname:端口

Open
#15,795 3 comments 0 reactions 0 assignees View on GitHub
good first issue help wanted type/bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.