This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 442fd0bd301 Upgrade derby 10.16.1.1 (#10781)
442fd0bd301 is described below

commit 442fd0bd301374766a00996c30e1ec6a73e6a7b6
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Sat Jul 22 11:52:18 2023 +0200

    Upgrade derby 10.16.1.1 (#10781)
    
    * Upgrade derby 10.16.1.1
    
    * Upgrade derby 10.16.1.1
    
    * Flaky test
---
 components/camel-jcr/pom.xml                       |  6 ++++
 components/camel-jdbc/pom.xml                      |  6 ++++
 components/camel-jpa/pom.xml                       |  6 ++++
 components/camel-mybatis/pom.xml                   |  6 ++++
 components/camel-quartz/pom.xml                    |  6 ++++
 components/camel-spring-jdbc/pom.xml               |  6 ++++
 components/camel-spring-xml/pom.xml                |  6 ++++
 components/camel-sql/pom.xml                       |  6 ++++
 .../jdbc/AbstractJdbcAggregationTestSupport.java   | 34 ++++++++++++++++++++--
 .../JdbcAggregationRepositoryAlotDataTest.java     |  6 ++--
 parent/pom.xml                                     |  2 +-
 tests/camel-itest/pom.xml                          |  6 ++++
 12 files changed, 89 insertions(+), 7 deletions(-)

diff --git a/components/camel-jcr/pom.xml b/components/camel-jcr/pom.xml
index 1d7bcb63454..447eae1a031 100644
--- a/components/camel-jcr/pom.xml
+++ b/components/camel-jcr/pom.xml
@@ -69,5 +69,11 @@
             <version>${derby-version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>${derby-version}</version>
+            <scope>test</scope>
+        </dependency>        
     </dependencies>
 </project>
diff --git a/components/camel-jdbc/pom.xml b/components/camel-jdbc/pom.xml
index 22dfcd55564..d2e9cd85af3 100644
--- a/components/camel-jdbc/pom.xml
+++ b/components/camel-jdbc/pom.xml
@@ -68,5 +68,11 @@
             <version>${derby-version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>${derby-version}</version>
+            <scope>test</scope>
+        </dependency>        
     </dependencies>
 </project>
diff --git a/components/camel-jpa/pom.xml b/components/camel-jpa/pom.xml
index 9d4994da28f..38d28bbe2e6 100644
--- a/components/camel-jpa/pom.xml
+++ b/components/camel-jpa/pom.xml
@@ -92,6 +92,12 @@
             <version>${derby-version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>${derby-version}</version>
+            <scope>test</scope>
+        </dependency>        
         <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter</artifactId>
diff --git a/components/camel-mybatis/pom.xml b/components/camel-mybatis/pom.xml
index 03ea2f608c4..64fcf495fec 100644
--- a/components/camel-mybatis/pom.xml
+++ b/components/camel-mybatis/pom.xml
@@ -58,6 +58,12 @@
             <version>${derby-version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>${derby-version}</version>
+            <scope>test</scope>
+        </dependency>        
         <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter</artifactId>
diff --git a/components/camel-quartz/pom.xml b/components/camel-quartz/pom.xml
index a198149423e..d3599f80275 100644
--- a/components/camel-quartz/pom.xml
+++ b/components/camel-quartz/pom.xml
@@ -99,6 +99,12 @@
             <version>${derby-version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>${derby-version}</version>
+            <scope>test</scope>
+        </dependency>        
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-jdbc</artifactId>
diff --git a/components/camel-spring-jdbc/pom.xml 
b/components/camel-spring-jdbc/pom.xml
index 5160b0cb9e6..702824d83cf 100644
--- a/components/camel-spring-jdbc/pom.xml
+++ b/components/camel-spring-jdbc/pom.xml
@@ -67,5 +67,11 @@
             <version>${derby-version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>${derby-version}</version>
+            <scope>test</scope>
+        </dependency>        
     </dependencies>
 </project>
diff --git a/components/camel-spring-xml/pom.xml 
b/components/camel-spring-xml/pom.xml
index e01ef56ed3e..df11e4090c0 100644
--- a/components/camel-spring-xml/pom.xml
+++ b/components/camel-spring-xml/pom.xml
@@ -139,6 +139,12 @@
             <version>${derby-version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>${derby-version}</version>
+            <scope>test</scope>
+        </dependency>        
         <dependency>
             <groupId>org.hamcrest</groupId>
             <artifactId>hamcrest</artifactId>
diff --git a/components/camel-sql/pom.xml b/components/camel-sql/pom.xml
index 2f1510433c7..cc3979795d2 100644
--- a/components/camel-sql/pom.xml
+++ b/components/camel-sql/pom.xml
@@ -83,6 +83,12 @@
             <version>${derby-version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>${derby-version}</version>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.hsqldb</groupId>
             <artifactId>hsqldb</artifactId>
diff --git 
a/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/AbstractJdbcAggregationTestSupport.java
 
b/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/AbstractJdbcAggregationTestSupport.java
index b4bc1cc8ff3..d30bdda85de 100644
--- 
a/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/AbstractJdbcAggregationTestSupport.java
+++ 
b/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/AbstractJdbcAggregationTestSupport.java
@@ -19,7 +19,9 @@ package org.apache.camel.processor.aggregate.jdbc;
 import org.apache.camel.AggregationStrategy;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.spi.OptimisticLockingAggregationRepository;
 import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
+import org.apache.camel.util.ObjectHelper;
 import org.springframework.context.support.AbstractApplicationContext;
 
 public abstract class AbstractJdbcAggregationTestSupport extends 
CamelSpringTestSupport {
@@ -65,9 +67,35 @@ public abstract class AbstractJdbcAggregationTestSupport 
extends CamelSpringTest
     }
 
     protected Exchange repoAddAndGet(String key, Exchange exchange) {
-        repo.add(context, key, exchange);
-        // recover the exchange with the new version to be able to add again
-        exchange = repo.get(context, key);
+        return repoAddAndGet(key, exchange, true);
+    }
+
+    protected Exchange repoAddAndGet(String key, Exchange exchange, boolean 
optimistic) {
+        int retry = optimistic ? 5 : 1;
+        while (retry-- > 0) {
+            try {
+                repo.add(context, key, exchange);
+                // recover the exchange with the new version to be able to add 
again
+                exchange = repo.get(context, key);
+                return exchange;
+            } catch (Exception e) {
+                if (optimistic) {
+                    
OptimisticLockingAggregationRepository.OptimisticLockingException ole
+                            = 
ObjectHelper.getException(OptimisticLockingAggregationRepository.OptimisticLockingException.class,
+                                    e);
+                    if (ole != null) {
+                        // okay lets try again
+                        try {
+                            Thread.sleep(50);
+                        } catch (InterruptedException ex) {
+                            // ignore
+                        }
+                        continue;
+                    }
+                }
+                throw e;
+            }
+        }
         return exchange;
     }
 
diff --git 
a/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepositoryAlotDataTest.java
 
b/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepositoryAlotDataTest.java
index 151a135268b..5adf977f952 100644
--- 
a/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepositoryAlotDataTest.java
+++ 
b/components/camel-sql/src/test/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepositoryAlotDataTest.java
@@ -31,7 +31,7 @@ public class JdbcAggregationRepositoryAlotDataTest extends 
AbstractJdbcAggregati
         Exchange exchange = new DefaultExchange(context);
         for (int i = 0; i < 100; i++) {
             exchange.getIn().setBody("counter:" + i);
-            exchange = repoAddAndGet(key, exchange);
+            exchange = repoAddAndGet(key, exchange, false);
         }
 
         // Get it back..
@@ -46,7 +46,7 @@ public class JdbcAggregationRepositoryAlotDataTest extends 
AbstractJdbcAggregati
                 Exchange exchange = new DefaultExchange(context);
                 exchange.getIn().setBody("counter:" + i);
                 String key = i % 2 == 0 ? "foo" : "bar";
-                repoAddAndGet(key, exchange);
+                repoAddAndGet(key, exchange, false);
             }
         });
     }
@@ -57,7 +57,7 @@ public class JdbcAggregationRepositoryAlotDataTest extends 
AbstractJdbcAggregati
             Exchange exchange = new DefaultExchange(context);
             exchange.getIn().setBody("counter:" + i);
             String key = "key" + i;
-            repoAddAndGet(key, exchange);
+            repoAddAndGet(key, exchange, false);
         }
 
         // Get it back..
diff --git a/parent/pom.xml b/parent/pom.xml
index 47fa62d1aff..58156ab07ec 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -126,7 +126,7 @@
         <datasonnet-mapper-version>2.5.2-jakarta4</datasonnet-mapper-version>
         <debezium-version>2.3.0.Final</debezium-version>
         
<debezium-mysql-connector-version>8.0.33</debezium-mysql-connector-version>
-        <derby-version>10.14.2.0</derby-version>
+        <derby-version>10.16.1.1</derby-version>
         <digitalocean-api-client-version>2.17</digitalocean-api-client-version>
         <directory-watcher-version>0.18.0</directory-watcher-version>
         <disruptor-version>3.4.4</disruptor-version>
diff --git a/tests/camel-itest/pom.xml b/tests/camel-itest/pom.xml
index f369732e98b..c93e7974abf 100644
--- a/tests/camel-itest/pom.xml
+++ b/tests/camel-itest/pom.xml
@@ -227,6 +227,12 @@
             <version>${derby-version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>${derby-version}</version>
+            <scope>test</scope>
+        </dependency>        
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-orm</artifactId>

Reply via email to