Hi all

### Background

#### Issue 1
Topic name rule
- old version: `{tenant}/{cluster}/{namespace}/{topic}/{subscription}`
- new version: `{tenant}/{namespace}/{topic}/{subscription}`

There are many HTTP APIs defined as `HTTP Method {topic name}/{subscription
name}`

If a subscription contains `/`,  the broker will assume it is a topic
created with the old rule, then users will get a `cluster does not exist`
error or a `topic not found error`. As well as other special characters of
HTTP protocol,

#### Issue 2
Pulsar may create internal topics that combined with the subscription name,
such as the component Transaction Pending Ack Store:
https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/pendingack/impl/MLPendingAckStore.java#L518-L520

### Goal

Denied creating subscriptions with special characters other than
underscores and dashes.

Highlight: the component Pulsar Function already used `/` creating
subscriptions, see the test here:
https://github.com/apache/pulsar/actions/runs/11801019972/job/32875168021?pr=23594

Thanks
Yubiao Feng

Reply via email to