Hi Penghui > Enabled `enableBrokerSideSubscriptionPatternEvaluation` and > setting `patternAutoDiscoveryPeriod` to a little value may > solve the problem.
Correct this answer: - Disable `enableBrokerSideSubscriptionPatternEvaluation`(the config on the broker-side) will solve this problem. BYW, setting `patternAutoDiscoveryPeriod`(the config on the client-side) to a little value may make new topic subscribing faster. Thanks Yubiao Feng On Mon, Jan 15, 2024 at 10:58 AM Yubiao Feng <yubiao.f...@streamnative.io> wrote: > Hi Penghui > > > Do we have a workaround for this break change? > > Is disabling PIP-145 can help with it? > > Enabled `enableBrokerSideSubscriptionPatternEvaluation` and setting > `patternAutoDiscoveryPeriod` to a little value may solve the problem. > > > Thanks > Yubiao Feng > > On Mon, Jan 15, 2024 at 10:03 AM PengHui Li <peng...@apache.org> wrote: > >> Do we have a workaround for this break change? >> Is disabling PIP-145 can help with it? >> >> Regards, >> Penghui >> >> On Fri, Jan 12, 2024 at 6:29 PM Yubiao Feng >> <yubiao.f...@streamnative.io.invalid> wrote: >> >> > Hi all >> > >> > I noticed that the PIP-145 made a break change that caused clients to >> not >> > subscribe to partitioned topics with a suffix-matched regexp. >> > >> > ### Background >> > PIP-145(https://github.com/apache/pulsar/issues/14505) moved the logic >> of >> > regexp compare from client-side to the broker-side. >> > After PIP-145, Pulsar uses the partition name(E.g., >> "topic-partition-0") to >> > match the Regexp. But the original behavior is to use a partitioned >> topic >> > name(E.g., "topic") to match the Regexp. >> > >> > ### The behavior change 1 >> > - start a consumer with `topicPattern`: >> > `persistent://my-property/my-ns/pattern-.*-1` >> > - create a partitioned topic >> `persistent://my-tenant/my-ns/pattern-topic-x` >> > with `4` partitions >> > >> > `3.0.2`: the consumer will automatically add `4` internal consumers for >> the >> > `4` partitions. >> > `2.10.5`: No internal consumers added. >> > >> > ### The behavior change 2 >> > - start a consumer with regexp `persistent://public/default/tp$` >> > - create a partitioned topic persistent://public/default/tp` with `4` >> > partitions >> > >> > `3.0.2`: the pattern consumer has no internal consumers. >> > `2.10.5`: the consumer will automatically add `4` internal consumers for >> > the `4` partitions. >> > >> > ### Summary >> > After PIP-145, there are two behaviors are confused: >> > - You can not use a suffix-regexp to subscribe to the partitioned >> topics. >> > - You will get all partitions if you just want one partition with a >> > suffix-regexp `-partition-0`. And before PIP-145, you will get no >> topics. >> > This behavior is not supported on all versions, but the behavior is not >> the >> > same. >> > >> > ### Fix >> > I pushed a PR to revert the behavior to the original(before PIP-145). >> See: >> > https://github.com/apache/pulsar/pull/21885. >> > >> > >> > Thanks >> > Yubiao Femg >> > >> >