It might be problematic atm. But should it be? Paging shouldnt be a problem, it 
really should be perf. I think one of the ideas for how we could support 
retroactive in future is to have an address in always page mode. This means if 
more than anything we should make sure paging is rock solid. Im not against a 
change i just want to be sure were able to differentiate for the critical 
checker, between something thats not returning e.g. locked up due to bug 
(historic reason its there) vs simply its working as it should just working 
alot of data... Sent from my Samsung Galaxy smartphone.
-------- Original message --------From: Andy Taylor <[email protected]> 
Date: 18/09/2019  19:01  (GMT+00:00) To: [email protected] Subject: Re: 
[DISCUSS] Artemis pageIterator.hasNext spends too much time in the case of no 
messages matched Yeah, I was thinking more multiple addresses and don't use 
selectors. Usingselectors on a topic where there maybe lots of pages messages 
is alwaysgoing to be problematic.On Wed, 18 Sep 2019, 16:40 , 
<[email protected]> wrote:> 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