On Fri, Apr 24, 2015 at 2:27 PM, Tim Bain <tb...@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>