The statement is right, because the other 1x is in the consumer's prefetch buffer. It's a bit confusing that the word "pending" in the log line counts both the pending queue on the broker and the prefetch buffer on the client, but the intent is definitely right. If you have a better word ("unconsumed", maybe), you could propose a wording change, but it would be wordsmithing the log line rather than changing the actual meaning.
I actually think that the "without an ack" part of that log line is the more inaccurate bit; you can be acking messages left and right, but if you're doing it slower than they're coming in you're still going to end up considered slow eventually. Tim On Sun, Mar 1, 2015 at 5:08 PM, Kevin Burton <bur...@spinn3r.com> wrote: > This looks like a but. The log message is hard wired to say “*twice* its > prefetch limit pending” but the if statement doesn’t have anything like a > 2x modifier. So perhaps this log line just needs to be re-written? > > If you guys agree I’ll create a JIRA for it. > > if (info.getPrefetchSize() > 1 && matched.size() > > info.getPrefetchSize()) { > // Slow consumers should log and set their state as such. > if (!isSlowConsumer()) { > LOG.warn("{}: has twice its prefetch limit pending, > without an ack; it appears to be slow", toString()); > > > -- > > 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> >