Yes.. I think what the work around would probably do is revert to “softer” priority scheduling when it kicks in because the fall through message consumer with no selector will work.
I will still try to get a fix implemented of course but I have a release i need to get out the door :) On Fri, Apr 24, 2015 at 4:14 PM, Tim Bain <tb...@alumni.duke.edu> wrote: > It might be a good fail-safe, but hopefully you'll find something as you > step through with the debugger that will highlight what the problem > actually is (so you don't need to use the no-selector workaround). > Workarounds are great, but fixes are better. :) But it might be a way to > at least get production working again so you can solve this at a more > reasonable pace rather than spending 15-hour days on it. > > Tim > > On Fri, Apr 24, 2015 at 5:04 PM, Kevin Burton <bur...@spinn3r.com> wrote: > > > Sounds like a good idea. I just pushed with maxPageSize=5000 > > > > Interesting that my backlogged queues seems to be locked up at about 5000 > > messages. > > > > … I’m wonder if those are messages that aren’t matching selectors? > > > > I could have a plan B / fall through that accepts messages without a > > selector.. it would be a hack and would give me soft priority but this > > would get me closer to my goal. > > > > throttle-queue:discovery-task:pending:192.0.78.13 > > 5,004 4 > > throttle-queue:discovery-task:pending:192.0.78.12 > > 5,002 4 > > throttle-queue:discovery-task:pending:74.125.141.132 > > 5,000 0 > > throttle-queue:feed-task:pending:74.125.141.132 > > 4,997 0 > > throttle-queue:source-task:pending:69.171.237.20 > > 4,062 0 > > > > On Fri, Apr 24, 2015 at 3:40 PM, Tim Bain <tb...@alumni.duke.edu> wrote: > > > > > OK, so based on what you wrote, it sounds like the broker gets into a > > state > > > where message selectors don't work properly, since the same selector > > > matches all messages (except ones with a null priority; have you > > confirmed > > > that both artemis_priority <= 9 and artemis_priority = null match their > > > respective messages when you're in a good state, and that neither one > > gets > > > any messages when you're in a bad state?). > > > > > > I'd start the broker with the debug port enabled, pull up the > > > selector-evaluation code and set a breakpoint in it (I'd start with > > > SelectorWorker.run()), wait till you get into the bad state, and then > > > attach a debugger and step through the code to see why messages aren't > > > getting handed off to your consumer with the selector. > > > > > > Tim > > > > > > On Fri, Apr 24, 2015 at 4:27 PM, Kevin Burton <bur...@spinn3r.com> > > wrote: > > > > > > > > > > > > > > > http://imgur.com/a/2myja > > > > > > > > > > > > > > > What are the two screenshots; with and without the selector? If > > that's > > > > > right, then clearly zero messages are matching the selector (which > > > means > > > > > this isn't a delivery problem, it's a selector problem), so > hopefully > > > > > pulling that thread will lead to a solution. > > > > > > > > > > > > > > Actually, maybe it’s just a but related to message selectors? > > > > > > > > If I remove the selector, I have it print the messages it receives. I > > > then > > > > confirm that they are ALL have the right headers. So from a > > mathematical > > > > perspective, they should match. > > > > > > > > Here’s an example. > > > > > > > > QueueDumperTask: Got message: using config: Config{sync=true, > > > > selector='artemis_priority <= 9'} > > > > > > > > QueueDumperTask: > > > > ID:util0048.wdc.sl.spinn3r.com-38049-1429893012757-6:1:1:1:11179 > > > > > > > > QueueDumperTask: artemis.link= > > http://entertainment-2-all.blogspot.com > > > > > > > > QueueDumperTask: artemis.throttleKey=74.125.141.132 > > > > > > > > QueueDumperTask: artemis.pending.timestamp=2015-04-24T16:46:30Z > > > > > > > > QueueDumperTask: artemis.sequence=1429893990000012414 > > > > > > > > QueueDumperTask: > > > > > > artemis.pendingQueue=throttle-queue:discovery-task:pending:74.125.141.132 > > > > > > > > QueueDumperTask: artemis_priority=0 > > > > > > > > QueueDumperTask: artemis.throttleQueue=discovery-task > > > > > > > > QueueDumperTask: artemis.delay=0 > > > > > > > > QueueDumperTask: JMSXDeliveryCount=3 > > > > > > > > .. so it should match > > > > > > > > artemis_priority <= 9 > > > > > > > > … so I think there are two issues here. I’m aware of the improper > > > > scheduling issue do to maxPageSize… so I won’t get REAL priorities. > > I’ll > > > > get soft priorities. > > > > > > > > But that’s not the issue that I’m seeing.. What I’m seeing is that > the > > > > ENTIRE thing locks up. Because at least ONE of my selectors should > > work. > > > > > > > > > > > > > > If I’m already an in-memory store, is there any problem just > > setting > > > > > > maxPageSize to a HUGE number? > > > > > > > > > > > > > > > That's not code I've looked at, but I'd double-check the code to > make > > > > sure > > > > > it's not going to do anything crazy like pre-allocate a huge > > > > > array/ArrayList or anything like that... > > > > > > > > > > > > > Yes. That’s what I was worried about.. I might trace it or just try > it > > in > > > > production and see what memory usage looks like. > > > > > > > > -- > > > > > > > > Founder/CEO Spinn3r.com > > > > Location: *San Francisco, CA* > > > > blog: http://burtonator.wordpress.com > > > > … or check out my Google+ profile > > > > <https://plus.google.com/102718274791889610666/posts> > > > > <http://spinn3r.com> > > > > > > > > > > > > > > > -- > > > > Founder/CEO Spinn3r.com > > Location: *San Francisco, CA* > > blog: http://burtonator.wordpress.com > > … or check out my Google+ profile > > <https://plus.google.com/102718274791889610666/posts> > > <http://spinn3r.com> > > > -- Founder/CEO Spinn3r.com Location: *San Francisco, CA* blog: http://burtonator.wordpress.com … or check out my Google+ profile <https://plus.google.com/102718274791889610666/posts> <http://spinn3r.com>