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
>> >
>>
>

Reply via email to