Got it work on my windows box when I set the delay to be 3.
I will enable the DataSetSedaTest within my next commit.

Willem

Claus Ibsen wrote:
Hi Willem

Can you try this fix on your computer to see if now works?

DataSetConsumer.java

// if no delay set then we must sleep at lest for 1 millis to avoid concurrency
// issues with extremly high throughtput
delay = 1;

change delay = 1 to a higher value such as:
delay = 2

I just wanted to see if the problem is still there.

The issue itself is the seda queue that has an issue with copying exchanges, 
and not really the dataset component. Setting a delay for consuming makes the 
dataset component behave nicer and more as a real life situation where loads of 
messages are delivered with a little delay once in a while.



Med venlig hilsen
Claus Ibsen
......................................
Silverbullet
Skovsgårdsvænget 21
8362 Hørning
Tlf. +45 2962 7576
Web: www.silverbullet.dk
-----Original Message-----
From: Willem Jiang [mailto:[EMAIL PROTECTED] Sent: 19. juni 2008 07:31
To: [email protected]
Subject: Re: svn commit: r668276 - in /activemq/camel/trunk/camel-core: pom.xml 
src/main/java/org/apache/camel/component/dataset/DataSetConsumer.java

Hi Claus,

I just ran the mvn clean install with you patch , and still got the DataSetSedaTest failed :(.

Regards,

Willem
Claus Ibsen wrote:
Hi

Just comitted a fix to see if it runs on the Bamboo. Sending camel-core\pom.xml
Sending        
camel-core\src\main\java\org\apache\camel\component\dataset\DataSetConsumer.java
Transmitting file data ..
Committed revision 669385.


Med venlig hilsen
Claus Ibsen
......................................
Silverbullet
Skovsgårdsvænget 21
8362 Hørning
Tlf. +45 2962 7576
Web: www.silverbullet.dk

-----Original Message-----
From: Claus Ibsen [mailto:[EMAIL PROTECTED] Sent: 18. juni 2008 09:58
To: [email protected]
Subject: RE: svn commit: r668276 - in /activemq/camel/trunk/camel-core: pom.xml 
src/main/java/org/apache/camel/component/dataset/DataSetConsumer.java

Hi

Ah it runs fine on my older xp laptop. I will try to get a better patch in 
soon, that should cater for faster machines.


Med venlig hilsen
Claus Ibsen
......................................
Silverbullet
Skovsgårdsvænget 21
8362 Hørning
Tlf. +45 2962 7576
Web: www.silverbullet.dk
-----Original Message-----
From: Willem Jiang [mailto:[EMAIL PROTECTED] Sent: 18. juni 2008 09:31
To: [email protected]
Subject: Re: svn commit: r668276 - in /activemq/camel/trunk/camel-core: pom.xml 
src/main/java/org/apache/camel/component/dataset/DataSetConsumer.java

Hi Claus

I still can't get DataSetSedaTest pass on my windows box, so I will exclude the test and wait for a better solution.

Willem

[EMAIL PROTECTED] wrote:
Author: davsclaus
Date: Mon Jun 16 12:49:14 2008
New Revision: 668276

URL: http://svn.apache.org/viewvc?rev=668276&view=rev
Log:
CAMEL-605: Fixed the high concurrency issue with dataset. Must sleep during 
sending to have more even load on producer/consumer.

Modified:
    activemq/camel/trunk/camel-core/pom.xml
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetConsumer.java

Modified: activemq/camel/trunk/camel-core/pom.xml
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/pom.xml?rev=668276&r1=668275&r2=668276&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/pom.xml (original)
+++ activemq/camel/trunk/camel-core/pom.xml Mon Jun 16 12:49:14 2008
@@ -124,7 +124,6 @@
           <excludes>
             <!-- TODO FIXME ASAP -->
             <exclude>**/InterceptorLogTest.*</exclude>
-            <exclude>**/DataSetSedaTest.*</exclude>
           </excludes>
         </configuration>
       </plugin>

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetConsumer.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetConsumer.java?rev=668276&r1=668275&r2=668276&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetConsumer.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetConsumer.java
 Mon Jun 16 12:49:14 2008
@@ -63,13 +63,18 @@
                 Exchange exchange = endpoint.createExchange(i);
                 getProcessor().process(exchange);
- long delay = endpoint.getProduceDelay();
-                if (delay > 0) {
-                    try {
+                try {
+                    long delay = endpoint.getProduceDelay();
+                    if (delay > 0) {
                         Thread.sleep(delay);
-                    } catch (InterruptedException e) {
-                        LOG.debug(e);
+                    } else {
+                        // if no delay set then we must sleep at lest for 1 
nano to avoid concurrency
+                        // issues with extremly high throughtput
+                        Thread.sleep(0, 1);
                     }
+                } catch (InterruptedException e) {
+                    // ignore and just log to debug
+                    LOG.debug(e);
                 }
                 if (reporter != null) {
                     reporter.process(exchange);






Reply via email to