activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Burton <bur...@spinn3r.com>
Subject Re: I can finally somewhat duplicate the bad bug I’m seeing with ActiveMQ not dispatching messages.
Date Fri, 24 Apr 2015 21:43:14 GMT
On Fri, Apr 24, 2015 at 2:27 PM, Tim Bain <tbain@alumni.duke.edu> wrote:

> If every message has at least one consumer for which the consumer's
> selector matches the message, you'll eventually process every message.
>

That’s what I thought too,  but that doesn’t work.


> Consumers that have no messages matching their selector in the cursor will
> be delayed until the messages in front of their next one get consumed, but
> they'll do it eventually; I don't think you'd have a complete failure to
> process messages as Kevin described.  (Or maybe I'm reading the wrong thing
> into Kevin's description.  Kevin, can you confirm that you're getting NO
> messages to ANY consumer on your queue?)
>
>
Every message should be consumed.

I have basically for selectors:

artemis_priority > 4
artemis_priority = 4
artemis_priority < 4
artemis_priority is null

The last one was a fall through to consume messages once we first added the
artemis_priority header.

(artemis is the name of our internal codebase)

conceptually, I thought this might be an issue, which is why I designed the
selectors so that I don’t have to pre-read much.

I also confirm that once I remove the selector, I immediately start
receiving messages that should match the above priorities.

And if I change maxPageSize, it DOES work now … so eureka.  That’s a big
step.

Kevin, your screenshots didn't come through in my email client (Gmail) nor
> on the Nabble page; can you resend so we can see what you're seeing in JMX?
>

http://imgur.com/a/2myja


>
> Also, given the way cursors work, implementing priority using selectors is
> never going to work.  At best you'll only be able to prioritize among the
> first N messages in the store at any point in time (with N = the number of
> messages that will fit into the cursor), which will eventually result in
> you having only N lowest-priority messages so you'll process the
> low-priority messages while your high-priority consumers sit unable to
> reach the high-priority messages deeper in the store.  If you want to use
> selectors to implement priority, you're going to have to implement the
> enhancements to cursors that Jon and I were talking about on Wednesday.
>

URL to this?  Is this because with maxPageSize I’m getting partial priority?

If I’m already an in-memory store, is there any problem just setting
maxPageSize to a HUGE number?

Kevin

-- 

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>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message