From 1318cbde9367764f5e6dde15526debd4afc91c99 Mon Sep 17 00:00:00 2001 From: abilan Date: Tue, 15 Nov 2022 11:50:06 -0500 Subject: [PATCH] Fix Cassandra init script execution The script file may have several DDL expression to execute. They probably have to be called one-by-one as they are declared. For example our `init-db.cql` has DDL to delete table and the next to create. * Fix `CassandraAppClusterConfiguration.keyspaceInitializer()` to use a `Flux.concatMap()` instead of `flatMap()` to ensure sequential items processing in the order they appear upstream --- .../cassandra/cluster/CassandraAppClusterConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/consumer/cassandra-consumer/src/main/java/org/springframework/cloud/fn/consumer/cassandra/cluster/CassandraAppClusterConfiguration.java b/consumer/cassandra-consumer/src/main/java/org/springframework/cloud/fn/consumer/cassandra/cluster/CassandraAppClusterConfiguration.java index ab673c50..89b5501a 100644 --- a/consumer/cassandra-consumer/src/main/java/org/springframework/cloud/fn/consumer/cassandra/cluster/CassandraAppClusterConfiguration.java +++ b/consumer/cassandra-consumer/src/main/java/org/springframework/cloud/fn/consumer/cassandra/cluster/CassandraAppClusterConfiguration.java @@ -123,7 +123,7 @@ public class CassandraAppClusterConfiguration { Flux.fromArray(StringUtils.delimitedListToStringArray(scripts, ";", "\r\n\f")) .filter(StringUtils::hasText) // an empty String after the last ';' - .flatMap(script -> reactiveCqlOperations.execute(script + ";")) + .concatMap(script -> reactiveCqlOperations.execute(script + ";")) .blockLast(); return null;