That would be same issue if consumers shared a queue and was a consumer side 
filter, that by consumer would pas lots data. he would hit same issue.




Get Outlook for Android







On Wed, Sep 18, 2019 at 1:36 PM +0100, "Andy Taylor" <[email protected]> 
wrote:










If you are dealing with subscribers not being connected for very long
periods of time I would question your choice of using topics in the first
place. Maybe use a different topology, 1 address/queue per consumer for
instance.

On Wed, 18 Sep 2019 at 08:50, yw yw  wrote:

> Thanks for the reply. I'm not asking to remove critical check. As you said,
> we can just increase timeout or log the failure. Our concern is the second
> problem with starvation on other queues. It's unacceptable for near
> real-time processing of other subscribers to the topic.
>
>  于2019年9月18日周三 上午12:58写道:
>
> > So the critical check is there to avoid issues where stuff takes too long
> > on the critical path. It was off the back of some major production
> issues.
> >
> >
> >
> >
> > I would be hesitant to relax / remove it.
> >
> >
> >
> >
> > If you know in your broker things take longer you could always configure
> > to increase the critical timeout.
> >
> >
> >
> >
> > Get Outlook for Android
> >
> >
> >
> >
> >
> >
> >
> > On Tue, Sep 17, 2019 at 11:00 AM +0100, "yw yw" 
> wrote:
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Hi, All
> >
> > There is something about pageIterator scanning that haunts us over a long
> > period of time since we use artemis.
> >
> > The use case is common:
> >
> > E.g. There is a topic with two queues: q1 and q2. Due to some reasons
> such
> > as a bug in the business logic, the clients stop from receiving from q1
> and
> > following messages sent to the topic are not routed to q1 again(the
> clients
> > don't want to receive messages until they get back online). After a few
> > days, the clients are backup starting to consume messages from the queue.
> > At this point, calling hasNext will scan page files until finding
> matching
> > messages(actually no messages matched before this point and dozens of GB
> > page files are written during business down time). This will lead to some
> > problems:
> > 1. Critical analyzer will be triggered, i.e. CRITICAL_CHECK_DEPAGE. In
> our
> > setup, the process would be terminated.
> > 2. hasNext might be called in queue's executor, as we know, the executor
> is
> > shared by all the queues binding to the address, this would cause
> > starvation on other queues resulting no messages delivered lasting for a
> > few minutes.
> >
> > One of the alternative approach i can think is to add some timeout for
> > hasNext/next. If timeout happens, it will be scheduled later to avoid
> > problems above mentioned. Does anybody have any opinion on this?
> >
> > Thanks in advance.
> >
> >
> >
> >
> >
> >
>





Reply via email to