camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: [HEADS UP] - Optimized JMS unit tests
Date Wed, 27 Apr 2011 08:33:20 GMT
I got the exception again today running a full test on camel-jms

-------------------------------------------------------------------------------
Test set: org.apache.camel.component.jms.JmsTimerBasedPollingConsumerTest
-------------------------------------------------------------------------------
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 5.566
sec <<< FAILURE!
testJmsTimerBasedPollingConsumer(org.apache.camel.component.jms.JmsTimerBasedPollingConsumerTest)
 Time elapsed: 5.466 sec  <<< FAILURE!
java.lang.AssertionError: mock://result Messages not ascending.
Message 5 has value: 6 and message 6 has value: 5 for expression:
header(number). Exchanges: Exchange[JmsMessage: ActiveMQTextMessage
{commandId = 9, responseRequired = false, messageId =
ID:davsclaus.local-52850-1303892310926-2:1:2:1:3, originalDestination
= null, originalTransactionId = null, producerId =
ID:davsclaus.local-52850-1303892310926-2:1:2:1, destination =
queue://queue.foo, transactionId = null, expiration = 0, timestamp =
1303892311241, arrival = 0, brokerInTime = 1303892311242,
brokerOutTime = 1303892311243, correlationId = null, replyTo = null,
persistent = true, type = null, priority = 4, groupID = null,
groupSequence = 0, targetConsumerId = null, compressed = false, userID
= null, content = null, marshalledProperties = null, dataStructure =
null, redeliveryCounter = 0, size = 1046, properties =
{breadcrumbId=ID-davsclaus-local-52849-1303892308934-0-41, number=6},
readOnlyProperties = true, readOnlyBody = true, droppable = false,
text = Hello World}] and Exchange[JmsMessage: ActiveMQTextMessage
{commandId = 7, responseRequired = false, messageId =
ID:davsclaus.local-52850-1303892310926-2:7:1:1:3, originalDestination
= null, originalTransactionId = null, producerId =
ID:davsclaus.local-52850-1303892310926-2:7:1:1, destination =
queue://queue.foo, transactionId = null, expiration = 0, timestamp =
1303892311239, arrival = 0, brokerInTime = 1303892311245,
brokerOutTime = 1303892311246, correlationId = null, replyTo = null,
persistent = true, type = null, priority = 4, groupID = null,
groupSequence = 0, targetConsumerId = null, compressed = false, userID
= null, content = null, marshalledProperties = null, dataStructure =
null, redeliveryCounter = 0, size = 1046, properties =
{breadcrumbId=ID-davsclaus-local-52849-1303892308934-0-39, number=5},
readOnlyProperties = true, readOnlyBody = true, droppable = false,
text = Hello World}]
	at org.apache.camel.component.mock.MockEndpoint.fail(MockEndpoint.java:1084)
	at org.apache.camel.component.mock.MockEndpoint.assertMessagesSorted(MockEndpoint.java:783)
	at org.apache.camel.component.mock.MockEndpoint.assertMessagesAscending(MockEndpoint.java:756)
	at org.apache.camel.component.mock.MockEndpoint$9.run(MockEndpoint.java:675)
	at org.apache.camel.component.mock.MockEndpoint.doAssertIsSatisfied(MockEndpoint.java:378)
	at org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:346)
	at org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:334)
	at org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:172)
	at org.apache.camel.test.junit4.CamelTestSupport.assertMockEndpointsSatisfied(CamelTestSupport.java:391)
	at org.apache.camel.component.jms.JmsTimerBasedPollingConsumerTest.testJmsTimerBasedPollingConsumer(JmsTimerBasedPollingConsumerTest.java:46)




On Tue, Apr 26, 2011 at 7:18 PM, Hadrian Zbarcea <hzbarcea@gmail.com> wrote:
> Yes, messages are consumed in fifo order with jms. As far as I know that part is tested
to death in amq, so the issues may be with the test framework, but I didn't see errors like
this in ages.
>
> Hadrian
>
>
> On Apr 26, 2011, at 12:07 PM, Claus Ibsen wrote:
>
>> On Tue, Apr 26, 2011 at 5:24 PM, Heath Kesler <hkesler@savoirtech.com> wrote:
>>> Thanks Claus,
>>>
>>> I will take a look at this, I have done a few things in JMS lately and look forward
to the improved performance.... I also noticed a couple of failures I will try and fix.
>>>
>>
>> The optimization in AMQ is among others about acknowledgement so AMQ
>> can do that in batches/bulk.
>> However I think I have seen one test which failed due message2 arrived
>> before message1.
>> Running the test many times thereafter didnt show this error.
>>
>> Of course I would expect AMQ to consume messages in FIFO order when 1
>> consumer only.
>> So anyway, just wanted to share. If we start see "odd" failures. Then
>> we may have to report to AMQ and/or disable some of the optimizations.
>>
>> PS: The big boost would be to not fork the JVM per test. And also to
>> reduce the number of Spring XML based test, as Spring Framework is
>> becoming dead slow at booting up its XML files. (Spring 2.0 or older
>> was much faster at this).
>>
>>
>>
>>
>>> Cheers
>>> Heath
>>>
>>> On Apr 26, 2011, at 1:35 AM, Claus Ibsen wrote:
>>>
>>>> Hi
>>>>
>>>> I recently commited a change to camel-jms with some optimize
>>>> instructions to AMQ.
>>>> This cut down unit test time a bit. I see roughly about 1min or better
>>>> on my system.
>>>>
>>>> But in case some unit tests start to mis behave on your system. Then
>>>> please report back so we can take a look.
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> -----------------
>>>> FuseSource
>>>> Email: cibsen@fusesource.com
>>>> Web: http://fusesource.com
>>>> CamelOne 2011: http://fusesource.com/camelone2011/
>>>> Twitter: davsclaus
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cibsen@fusesource.com
>> Web: http://fusesource.com
>> CamelOne 2011: http://fusesource.com/camelone2011/
>> Twitter: davsclaus
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
CamelOne 2011: http://fusesource.com/camelone2011/
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Mime
View raw message