[
https://issues.apache.org/jira/browse/QPID-390?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marnie McCormack updated QPID-390:
----------------------------------
Description:
Inccorect counting of messages received when run two consumers against an
initial queue depth of 100. After the test, Received Message Count is 4437,
rather than 100 e.g.
/** multiple consumers */
public void testTwoCompetingConsumers() throws Exception
{
Consumer c1 = new Consumer();
Consumer c2 = new Consumer();
Thread t1 = new Thread(c1);
Thread t2 = new Thread(c2);
t1.start();
t2.start();
t1.join();
t2.join();
log("consumer 1 count is " + c1.getCount());
log("consumer 2 count is " + c2.getCount());
Integer totalConsumed = c1.getCount()+c2.getCount();
assertEquals("number of consumed messages does not match initial data",
numTestMessages, totalConsumed);
}
Related issues around queue depth:
Send a messageof 102400 bytes and the message count is one, but the queue
depth according to console is zero (should be 102400)
Run test case below on a fresh broker instance, and test case setup consumes
all messages in queue. No depth alerts as expected. Now run it a second time -
we see
... QUEUE_DEPTH_ALERT On Queue queue - 4200Kb : Maximum queue depth threshold
(4136Kb) breached.
and eventually
... QUEUE_DEPTH_ALERT On Queue queue - 8200Kb : Maximum queue depth threshold
(4136Kb) breached.
indicating the queue depth is not being reset when the queue is cleared down,
but keeps incrementing.
public void testNearThreshold() throws Exception
{
assertEquals("payload not correct size", chunkSizeBytes.intValue(),
payload.getBytes().length);
int copies = 40;
conn.put(queue, payload, copies); //puts 40 copies of 100Kb message on queue
log("put " + copies + " copies for total bytes: " + copies *
chunkSizeBytes);
}
was:
Run two consumers against an initial queue depth of 100. After the test,
Received Message Count is 4437, rather than 100 e.g.
/** multiple consumers */
public void testTwoCompetingConsumers() throws Exception
{
Consumer c1 = new Consumer();
Consumer c2 = new Consumer();
Thread t1 = new Thread(c1);
Thread t2 = new Thread(c2);
t1.start();
t2.start();
t1.join();
t2.join();
log("consumer 1 count is " + c1.getCount());
log("consumer 2 count is " + c2.getCount());
Integer totalConsumed = c1.getCount()+c2.getCount();
assertEquals("number of consumed messages does not match initial data",
numTestMessages, totalConsumed);
}
Summary: Incorrect number of messages received/counted (was:
Incorrect number of messages received using multiple consumers)
> Incorrect number of messages received/counted
> ----------------------------------------------
>
> Key: QPID-390
> URL: https://issues.apache.org/jira/browse/QPID-390
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: M1
> Reporter: Marnie McCormack
> Fix For: M2
>
>
> Inccorect counting of messages received when run two consumers against an
> initial queue depth of 100. After the test, Received Message Count is 4437,
> rather than 100 e.g.
> /** multiple consumers */
> public void testTwoCompetingConsumers() throws Exception
> {
> Consumer c1 = new Consumer();
> Consumer c2 = new Consumer();
> Thread t1 = new Thread(c1);
> Thread t2 = new Thread(c2);
> t1.start();
> t2.start();
> t1.join();
> t2.join();
> log("consumer 1 count is " + c1.getCount());
> log("consumer 2 count is " + c2.getCount());
>
> Integer totalConsumed = c1.getCount()+c2.getCount();
> assertEquals("number of consumed messages does not match initial data",
> numTestMessages, totalConsumed);
> }
> Related issues around queue depth:
> Send a messageof 102400 bytes and the message count is one, but the queue
> depth according to console is zero (should be 102400)
> Run test case below on a fresh broker instance, and test case setup consumes
> all messages in queue. No depth alerts as expected. Now run it a second time
> - we see
> ... QUEUE_DEPTH_ALERT On Queue queue - 4200Kb : Maximum queue depth
> threshold (4136Kb) breached.
> and eventually
> ... QUEUE_DEPTH_ALERT On Queue queue - 8200Kb : Maximum queue depth
> threshold (4136Kb) breached.
> indicating the queue depth is not being reset when the queue is cleared down,
> but keeps incrementing.
> public void testNearThreshold() throws Exception
> {
> assertEquals("payload not correct size", chunkSizeBytes.intValue(),
> payload.getBytes().length);
> int copies = 40;
> conn.put(queue, payload, copies); //puts 40 copies of 100Kb message on
> queue
> log("put " + copies + " copies for total bytes: " + copies *
> chunkSizeBytes);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.