This is an automated email from the ASF dual-hosted git repository. ppalaga pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 4a7527e579ca0cf0833b9667f29e944b915ea3ee Author: Peter Palaga <[email protected]> AuthorDate: Fri Jun 4 23:49:20 2021 +0200 Fixup 8ce5068 Intermittent failures in MongoDbTest.testTailingConsumer() #2658 --- .../quarkus/component/mongodb/it/MongoDbResource.java | 12 ++++++------ .../camel/quarkus/component/mongodb/it/MongoDbRoute.java | 15 +++++++++------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/integration-tests/mongodb/src/main/java/org/apache/camel/quarkus/component/mongodb/it/MongoDbResource.java b/integration-tests/mongodb/src/main/java/org/apache/camel/quarkus/component/mongodb/it/MongoDbResource.java index cf01d65..e3d274e 100644 --- a/integration-tests/mongodb/src/main/java/org/apache/camel/quarkus/component/mongodb/it/MongoDbResource.java +++ b/integration-tests/mongodb/src/main/java/org/apache/camel/quarkus/component/mongodb/it/MongoDbResource.java @@ -184,14 +184,14 @@ public class MongoDbResource { @Path("/resultsReset/{resultId}") @Produces(MediaType.APPLICATION_JSON) public Map getResultsAndReset(@PathParam("resultId") String resultId) { - synchronized (results) { - int size = results.get(resultId).size(); + final List<Document> list = results.get(resultId); + synchronized (list) { + int size = list.size(); Document last = null; - if (!results.get(resultId).isEmpty()) { - last = results.get(resultId).get(size - 1); - results.get(resultId).clear(); + if (!list.isEmpty()) { + last = list.get(size - 1); + list.clear(); } - return CollectionHelper.mapOf("size", size, "last", last); } } diff --git a/integration-tests/mongodb/src/main/java/org/apache/camel/quarkus/component/mongodb/it/MongoDbRoute.java b/integration-tests/mongodb/src/main/java/org/apache/camel/quarkus/component/mongodb/it/MongoDbRoute.java index 50d27cc..d0746d3 100644 --- a/integration-tests/mongodb/src/main/java/org/apache/camel/quarkus/component/mongodb/it/MongoDbRoute.java +++ b/integration-tests/mongodb/src/main/java/org/apache/camel/quarkus/component/mongodb/it/MongoDbRoute.java @@ -45,8 +45,9 @@ public class MongoDbRoute extends RouteBuilder { from(String.format("mongodb:%s?database=test&collection=%s&tailTrackIncreasingField=increasing", MongoDbResource.DEFAULT_MONGO_CLIENT_NAME, COLLECTION_TAILING)) .process(e -> { - synchronized (results) { - results.get(COLLECTION_TAILING).add(e.getMessage().getBody(Document.class)); + final List<Document> list = results.get(COLLECTION_TAILING); + synchronized (list) { + list.add(e.getMessage().getBody(Document.class)); } }); @@ -55,8 +56,9 @@ public class MongoDbRoute extends RouteBuilder { MongoDbResource.DEFAULT_MONGO_CLIENT_NAME, COLLECTION_PERSISTENT_TAILING)) .id(COLLECTION_PERSISTENT_TAILING) .process(e -> { - synchronized (results) { - results.get(COLLECTION_PERSISTENT_TAILING).add(e.getMessage().getBody(Document.class)); + final List<Document> list = results.get(COLLECTION_PERSISTENT_TAILING); + synchronized (list) { + list.add(e.getMessage().getBody(Document.class)); } }); @@ -64,8 +66,9 @@ public class MongoDbRoute extends RouteBuilder { MongoDbResource.DEFAULT_MONGO_CLIENT_NAME, COLLECTION_STREAM_CHANGES)) .routeProperty("streamFilter", "{'$match':{'$or':[{'fullDocument.string': 'value2'}]}}") .process(e -> { - synchronized (results) { - results.get(COLLECTION_STREAM_CHANGES).add(e.getMessage().getBody(Document.class)); + final List<Document> list = results.get(COLLECTION_STREAM_CHANGES); + synchronized (list) { + list.add(e.getMessage().getBody(Document.class)); } }); }
