> I prefer not to break the current behavior as it's probably not a bug.

I agree. For now, let's keep the same behavior if there are no strong
objections from any existing user.

Thanks,
Yunze

On Thu, May 30, 2024 at 4:33 PM Zike Yang <z...@apache.org> wrote:
>
> I think the key point is whether we should consider a regex consumer
> without any subscribed topics as a valid consumer.
>
> > For example, when users create a regex consumer that subscribes to
> topics ("tp0", "tp1", ..., "tpN") and seek to the earliest, they might
> expect to consume messages from these topics. However, if they used a
> wrong regex like "tp*" (it should be "tp.*), then they might find no
> messages are available even if they're sure there is at least one
> non-empty topic whose name starts at "tp" from the topic stats.
>
> Actually, for this example, if we treat a consumer without any
> subscribed topics as an invalid consumer, we should throw an expcetion
> when the regex consumer first subscribes, instead of waiting until the
> seek to inform the user that there are no topics. Currently, however,
> no exception is thrown when a regex consumer subscribes without any
> topics.
>
> I prefer not to break the current behavior as it's probably not a bug.
> Alternatively, we could introduce a new option for users who do not
> want to seek on the consumer without any topics.
>
> BR,
> Zike Yang
>
> On Thu, May 30, 2024 at 1:10 AM Yunze Xu <x...@apache.org> wrote:
> >
> > For example, when users create a regex consumer that subscribes to
> > topics ("tp0", "tp1", ..., "tpN") and seek to the earliest, they might
> > expect to consume messages from these topics. However, if they used a
> > wrong regex like "tp*" (it should be "tp.*), then they might find no
> > messages are available even if they're sure there is at least one
> > non-empty topic whose name starts at "tp" from the topic stats.
> >
> > Thanks,
> > Yunze
> >
> > On Wed, May 29, 2024 at 7:32 PM Enrico Olivelli <eolive...@gmail.com> wrote:
> > >
> > > Il giorno mer 29 mag 2024 alle ore 11:10 Baodi Shi <ba...@apache.org> ha
> > > scritto:
> > >
> > > > +1
> > > >
> > > >
> > > > Thanks,
> > > > Baodi Shi
> > > >
> > > >
> > > > On May 29, 2024 at 14:50:12, Yunze Xu <x...@apache.org> wrote:
> > > >
> > > > > Hi community,
> > > > >
> > > > > Recently I found the behavior of seeking a multi-topics consumer is
> > > > > intuitive. If there are no internal consumers, the `seek` call will
> > > > > just succeed silently.
> > > >
> > >
> > >
> > > > >
> > > > > If a consumer subscribes with a regex and no topics are found, users
> > > > > might think the seek operation succeeds while no topics are sought.
> > > > >
> > > > > I suggest throwing an exception in this case to notify users that the
> > > > > consumer to seek is a multi-topics consumer that contains no topics.
> > > > > It's a breaking change so I'd like to hear more voices in the mail
> > > >
> > >
> > > What happens if it subscribed to a regex which "currently" doesn't not
> > > match any topics ?
> > > Maybe this is intentional in the application design as maybe you have
> > > dynamic topics
> > >
> > > Giving an error or failing silently doesn't fix the problem.
> > > If the application is sure that you must have at least N topics then we
> > > should make this configurable somewhere.
> > > The difference between "zero topics" or "one topic" is very small, if your
> > > application expects to subscribe to 100 topics.
> > >
> > >
> > > Enrico
> > >
> > >
> > >
> > > > > list.
> > > > >
> > > > > For now, I report an error for the C++ client [1], which might also
> > > > > affect the Python and Node.js clients. But the behavior of the Java
> > > > > client does not change.
> > > > >
> > > > > [1] https://github.com/apache/pulsar-client-cpp/pull/426
> > > > >
> > > > > Thanks,
> > > > > Yunze
> > > > >
> > > >

Reply via email to