You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Maciej Prochniak <mp...@touk.pl> on 2009/06/09 09:35:09 UTC

Timeouts during sendSync in smx 3.3

Hello,
I have noticed two kinds of behaviour which I'd consider bug:

1) Under certain conditions sendSync with timeout leads to 
following exception:

> java.lang.NullPointerException
>         at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.suspendTx(DeliveryChannelImpl.java:755)
>         at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:588)
>         at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>         at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
>         at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:810)
This is caused by the fact that after timeout message exchange is
removed from hashmap in deliveryChannelImpl. When answer the component
tries to get it - and NullPointer occurs (this is only for transacted
message exchanges - we encountered it with ODE). The whole thing
happends rarely because the timeout must occur after the provider does
send (otherwise the reply is not sent back) - but still
NullPointerException does not look good in the logs ;) 

2) When timeout occurs while message is waiting in seda queue for
component using push delivery mode (e.g. camel) Next state is illegal
Exception is thrown when component finally gets the message. This is in
contrast to behaviour using pull mode when such message is just ignored.
This behaviour is due to the fact that in push delivery mode in
DeliveryChannelImpl only handleAccept is called - and not accept() -
where aborted message recognition is done.

Both things occur on SMX 3.3 - couldn't find any relevant info on this.
Could someone please comment on these two?
regards 
m. prochniak