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>