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