You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Siva B (JIRA)" <ji...@apache.org> on 2013/06/04 00:04:21 UTC

[jira] [Commented] (CAMEL-6411) Setting a receiveTimeout for a shared fixed reply does not take effect

    [ https://issues.apache.org/jira/browse/CAMEL-6411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13673661#comment-13673661 ] 

Siva B commented on CAMEL-6411:
-------------------------------

Thanks for the response! 

Setting requestTimeout of 1 second and receiveTimeout of 250 milliseconds timing out right after 1 second for a single request if there is no response.
But if I fire multiple concurrent requests, then it's again waiting indefinitely rather than timing out (for both SHARED/EXCLUSIVE modes). 

Please clarify the following,

1. Why is it not timing out for more concurrent requests?
2. Why is it executing it in Async mode when it's configured as false?

        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:115)
                
> Setting a receiveTimeout for a shared fixed reply does not take effect
> ----------------------------------------------------------------------
>
>                 Key: CAMEL-6411
>                 URL: https://issues.apache.org/jira/browse/CAMEL-6411
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core, camel-jms
>    Affects Versions: 2.10.4
>         Environment: OS - RHEL 5.3
> Tomcat - 7.0.39
> JDK - 1.7
> Spring - 3.0.2
> WebSphere MQ - 7.0
>            Reporter: Siva B
>            Assignee: Claus Ibsen
>             Fix For: 2.12.0
>
>
> Setting the receiveTimeout of 1 second does not take effect. It's still waiting the reply infinitely. Hence, we are seeing thread pile-ups in tomcat.
> From tomcat thread dump, all threads are waiting in CountDownLatch.await though we are NOT using async mode.
> Queue Config: jms:queue:QUEUE.REQUEST?replyTo=SYNC.REPLY&?useMessageIDAsCorrelationID=true&receiveTime=1000&preserveMessageQos=true&replyToType=Shared&disableReplyTo=false
> Stack trace from thread dump:
> "ajp-bio-8010-exec-349" daemon prio=10 tid=0x0000000005eaf000 nid=0x73f9 waiting on condition [0x0000000054758000]
>    java.lang.Thread.State: WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00000000be675930> (a java.util.concurrent.CountDownLatch$Sync)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
>         at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236)
>         at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:115)
>         at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)
>         at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:63)
>         at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:360)
>         at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:331)
>         at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:227)
>         at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:331)
>         at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:186)
>         at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:115)
>         at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:119)
>         at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:136)
>         at org.apache.camel.impl.DefaultProducerTemplate.requestBody(DefaultProducerTemplate.java:284)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira