camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Camel 2.11.1 - SedaComponent issues with Queue size
Date Fri, 30 Aug 2013 07:30:39 GMT
Hi

Yeah give that a try and as we love contributions. Feel free to log a
JIRA and provide a patch.

On Fri, Aug 30, 2013 at 8:26 AM, Alex Paransky <apara@standardset.com> wrote:
> Looks like the values being compared are Objects, but != is being used
> instead of !equals method.  Since you have the src try the fix.
> On Aug 29, 2013 11:21 PM, "vcheruvu" <v_cheruvu@hotmail.com> wrote:
>
>>
>> Hi ,
>>
>> I am getting strange error with queue when our applications write objects
>> to
>> VM queue.  Occasionally I am seeing below error.  It is strange that we can
>> clearly see in the error message below that queue size value match. Any
>> idea
>> why it is failing?
>>
>>
>>
>> Caused by: java.lang.IllegalArgumentException: Cannot use existing queue
>> vm://FixTransform-BARX-Queue as the existing queue size 500000 does not
>> match given queue size 500000
>>         at
>>
>> org.apache.camel.component.seda.SedaComponent.getOrCreateQueue(SedaComponent.java:76)
>>         at
>>
>> org.apache.camel.component.seda.SedaEndpoint.getQueue(SedaEndpoint.java:122)
>>         at
>> org.apache.camel.component.seda.SedaEndpoint.doStart(SedaEndpoint.java:401)
>>         at
>> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
>>         at
>>
>> org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:1819)
>>         at
>>
>> org.apache.camel.impl.DefaultCamelContext.doAddService(DefaultCamelContext.java:960)
>>         at
>>
>> org.apache.camel.impl.DefaultCamelContext.addService(DefaultCamelContext.java:921)
>>         at
>>
>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:505)
>>         ... 56 more
>>
>>
>>
>> Below is the code snippet that throws IllegalArgumentException when
>> comparing queue size. I do not  understand how queue size do not match for
>> below conditional statement when 500000 is equal to 500000 in the above
>> statement.  Is there some kind of data corruption here that some threads do
>> not get correct value for ref.getSize()?
>>
>>
>> SedaComponent.java
>>
>> ...
>>  if (size != null && ref.getSize() != size) {
>>                 // there is already a queue, so make sure the size matches
>>                 throw new IllegalArgumentException("Cannot use existing
>> queue " + key + " as the existing queue size "
>>                         + (ref.getSize() != null ? ref.getSize() :
>> Integer.MAX_VALUE) + " does not match given queue size " + size);
>>             }
>> ....
>>
>>
>>
>>
>>
>> VM component name used in our application
>>
>>
>> "vm:FixTransform-BARX-Queue?size=500000&timeout=1000000&concurrentConsumers=5"
>>
>> Kind regards,
>> -Vid-
>>
>>
>>
>> --
>> View this message in context:
>> http://camel.465427.n5.nabble.com/Camel-2-11-1-SedaComponent-issues-with-Queue-size-tp5738258.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Mime
View raw message