Polishing.

Remove constructors defaulting to BatchType.LOGGED and turn batchOps() into default methods to avoid defaulting sprawl.

Update since tags.

See #1174
Original pull request: #1175.
This commit is contained in:
Mark Paluch
2021-10-01 10:59:19 +02:00
parent 99f3bcc49d
commit 5718ec3c0b
8 changed files with 54 additions and 80 deletions

View File

@@ -56,21 +56,12 @@ class CassandraBatchTemplate implements CassandraBatchOperations {
private final StatementFactory statementFactory;
/**
* Create a new {@link CassandraBatchTemplate} given {@link CassandraOperations}.
*
* @param operations must not be {@literal null}.
*/
CassandraBatchTemplate(CassandraOperations operations) {
this(operations, BatchType.LOGGED);
}
/**
* Create a new {@link CassandraBatchTemplate} given {@link CassandraOperations} and {@link BatchType}.
*
* @param operations must not be {@literal null}.
* @param batchType must not be {@literal null}.
* @since 3.3.0
* @since 3.2.6
*/
CassandraBatchTemplate(CassandraOperations operations, BatchType batchType) {

View File

@@ -53,20 +53,24 @@ import com.datastax.oss.driver.api.core.cql.Statement;
public interface CassandraOperations extends FluentCassandraOperations {
/**
* Returns a new {@link CassandraBatchOperations}. Each {@link CassandraBatchOperations} instance can be executed only
* once, so you might want to obtain new {@link CassandraBatchOperations} instances for each batch.
* Returns a new {@link CassandraBatchOperations} using {@link BatchType#LOGGED}. Each
* {@link CassandraBatchOperations} instance can be executed only once, so you need to obtain new
* {@link CassandraBatchOperations} instances for each batch.
*
* @return a new {@link CassandraBatchOperations} associated with the given entity class.
* @see #batchOps(BatchType)
*/
CassandraBatchOperations batchOps();
default CassandraBatchOperations batchOps() {
return batchOps(BatchType.LOGGED);
}
/**
* Returns a new {@link CassandraBatchOperations}. Each {@link CassandraBatchOperations} instance can be executed only
* once, so you might want to obtain new {@link CassandraBatchOperations} instances for each batch.
* once, so you need to obtain new {@link CassandraBatchOperations} instances for each batch.
*
* @param batchType must not be {@literal null}.
* @return a new {@link ReactiveCassandraBatchOperations} associated with the given entity class.
* @since 3.3.0
* @since 3.2.6
*/
CassandraBatchOperations batchOps(BatchType batchType);

View File

@@ -196,14 +196,6 @@ public class CassandraTemplate implements CassandraOperations, ApplicationEventP
this.statementFactory = new StatementFactory(new QueryMapper(converter), new UpdateMapper(converter));
}
/* (non-Javadoc)
* @see org.springframework.data.cassandra.core.CassandraOperations#batchOps()
*/
@Override
public CassandraBatchOperations batchOps() {
return new CassandraBatchTemplate(this);
}
/* (non-Javadoc)
* @see org.springframework.data.cassandra.core.CassandraOperations#batchOps(com.datastax.oss.driver.api.core.cql.BatchType)
*/

View File

@@ -65,21 +65,12 @@ class ReactiveCassandraBatchTemplate implements ReactiveCassandraBatchOperations
private final StatementFactory statementFactory;
/**
* Create a new {@link CassandraBatchTemplate} given {@link CassandraOperations}.
*
* @param operations must not be {@literal null}.
*/
ReactiveCassandraBatchTemplate(ReactiveCassandraOperations operations) {
this(operations, BatchType.LOGGED);
}
/**
* Create a new {@link CassandraBatchTemplate} given {@link CassandraOperations} and {@link BatchType}.
*
* @param operations must not be {@literal null}.
* @param batchType must not be {@literal null}.
* @since 3.3.0
* @since 3.2.6
*/
ReactiveCassandraBatchTemplate(ReactiveCassandraOperations operations, BatchType batchType) {

View File

@@ -52,23 +52,25 @@ import com.datastax.oss.driver.api.core.cql.Statement;
public interface ReactiveCassandraOperations extends ReactiveFluentCassandraOperations {
/**
* Returns a new {@link ReactiveCassandraBatchOperations}. Each {@link ReactiveCassandraBatchOperations} instance can
* be executed only once, so you might want to obtain new {@link ReactiveCassandraBatchOperations} instances for each
* batch.
* Returns a new {@link ReactiveCassandraBatchOperations} using {@link BatchType#LOGGED}. Each
* {@link ReactiveCassandraBatchOperations} instance can be executed only once, so you need to obtain new
* {@link ReactiveCassandraBatchOperations} instances for each batch.
*
* @return a new {@link ReactiveCassandraBatchOperations} associated with the given entity class.
* @since 2.1
* @see #batchOps(BatchType)
*/
ReactiveCassandraBatchOperations batchOps();
default ReactiveCassandraBatchOperations batchOps() {
return batchOps(BatchType.LOGGED);
}
/**
* Returns a new {@link ReactiveCassandraBatchOperations}. Each {@link ReactiveCassandraBatchOperations} instance can
* be executed only once, so you might want to obtain new {@link ReactiveCassandraBatchOperations} instances for each
* batch.
* be executed only once, so you need to obtain new {@link ReactiveCassandraBatchOperations} instances for each batch.
*
* @param batchType must not be {@literal null}.
* @return a new {@link ReactiveCassandraBatchOperations} associated with the given entity class.
* @since 3.3.0
* @since 3.2.6
*/
ReactiveCassandraBatchOperations batchOps(BatchType batchType);

View File

@@ -193,14 +193,6 @@ public class ReactiveCassandraTemplate
this.statementFactory = new StatementFactory(converter);
}
/* (non-Javadoc)
* @see org.springframework.data.cassandra.core.ReactiveCassandraOperations#batchOps()
*/
@Override
public ReactiveCassandraBatchOperations batchOps() {
return new ReactiveCassandraBatchTemplate(this);
}
/* (non-Javadoc)
* @see org.springframework.data.cassandra.core.ReactiveCassandraOperations#batchOps(com.datastax.oss.driver.api.core.cql.BatchType)
*/

View File

@@ -30,6 +30,7 @@ import org.springframework.data.cassandra.domain.GroupKey;
import org.springframework.data.cassandra.repository.support.SchemaTestUtils;
import org.springframework.data.cassandra.test.util.AbstractKeyspaceCreatingIntegrationTests;
import com.datastax.oss.driver.api.core.cql.BatchType;
import com.datastax.oss.driver.api.core.cql.ResultSet;
import com.datastax.oss.driver.api.core.cql.Row;
@@ -64,7 +65,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
@Test // DATACASS-288
void shouldInsertEntities() {
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.insert(walter).insert(mike).execute();
Group loaded = template.selectOneById(walter.getId(), Group.class);
@@ -89,7 +90,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
walter.setAge(100);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
WriteResult writeResult = batchOperations.insert(walter, lwtOptions).insert(mike).execute();
@@ -108,7 +109,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
@Test // DATACASS-288
void shouldInsertCollectionOfEntities() {
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.insert(Arrays.asList(walter, mike)).execute();
Group loaded = template.selectOneById(walter.getId(), Group.class);
@@ -125,7 +126,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
int ttl = 30;
WriteOptions options = WriteOptions.builder().ttl(30).build();
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.insert(Arrays.asList(walter, mike), options).execute();
ResultSet resultSet = template.getCqlOperations().queryForResultSet("SELECT TTL(email) FROM group;");
@@ -149,7 +150,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
walter.setEmail("walter@white.com");
mike.setEmail("mike@sauls.com");
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.update(walter).update(mike).execute();
Group loaded = template.selectOneById(walter.getId(), Group.class);
@@ -163,7 +164,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
walter.setEmail("walter@white.com");
mike.setEmail("mike@sauls.com");
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.update(Arrays.asList(walter, mike)).execute();
Group loaded = template.selectOneById(walter.getId(), Group.class);
@@ -180,7 +181,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
int ttl = 30;
WriteOptions options = WriteOptions.builder().ttl(ttl).build();
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.update(walter, options).execute();
ResultSet resultSet = template.getCqlOperations().queryForResultSet("SELECT TTL(email), email FROM group");
@@ -209,7 +210,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
walter.setEmail("walter@white.com");
mike.setEmail("mike@sauls.com");
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.update(Arrays.asList(walter, mike)).execute();
FlatGroup loaded = template.selectOneById(walter, FlatGroup.class);
@@ -226,7 +227,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
@Test // DATACASS-288
void shouldDeleteEntities() {
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.delete(walter).delete(mike).execute();
@@ -238,7 +239,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
@Test // DATACASS-288
void shouldDeleteCollectionOfEntities() {
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.delete(Arrays.asList(walter, mike)).execute();
@@ -255,7 +256,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
long timestamp = (System.currentTimeMillis() + TimeUnit.DAYS.toMillis(1)) * 1000;
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.insert(walter).insert(mike).withTimestamp(timestamp).execute();
ResultSet resultSet = template.getCqlOperations().queryForResultSet("SELECT writetime(email) FROM group;");
@@ -270,7 +271,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
@Test // DATACASS-288
void shouldNotExecuteTwice() {
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.insert(walter).execute();
assertThatIllegalStateException().isThrownBy(() -> batchOperations.execute());
@@ -279,7 +280,7 @@ class CassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCreatingInt
@Test // DATACASS-288
void shouldNotAllowModificationAfterExecution() {
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template);
CassandraBatchOperations batchOperations = new CassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.insert(walter).execute();
assertThatIllegalStateException().isThrownBy(() -> batchOperations.update(new Group()));

View File

@@ -40,6 +40,7 @@ import org.springframework.data.cassandra.domain.GroupKey;
import org.springframework.data.cassandra.repository.support.SchemaTestUtils;
import org.springframework.data.cassandra.test.util.AbstractKeyspaceCreatingIntegrationTests;
import com.datastax.oss.driver.api.core.cql.BatchType;
import com.datastax.oss.driver.api.core.cql.Row;
/**
@@ -85,7 +86,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
@Test // DATACASS-574
void shouldInsertEntities() {
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<WriteResult> execution = batchOperations.insert(walter).insert(mike).execute();
Mono<Group> loadedMono = execution.then(template.selectOneById(walter.getId(), Group.class));
@@ -99,7 +100,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
@Test // DATACASS-574
void shouldInsertCollectionOfEntities() {
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<Group> loadedMono = batchOperations.insert(Arrays.asList(walter, mike)).execute()
.then(template.selectOneById(walter.getId(), Group.class));
@@ -117,7 +118,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
int ttl = 30;
WriteOptions options = WriteOptions.builder().ttl(30).build();
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<ReactiveResultSet> resultSet = batchOperations.insert(walter, options).execute()
.then(template.getReactiveCqlOperations().queryForResultSet("SELECT TTL(email), email FROM group;"));
@@ -147,7 +148,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
int ttl = 30;
WriteOptions options = WriteOptions.builder().ttl(30).build();
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<ReactiveResultSet> resultSet = batchOperations.insert(Mono.just(Arrays.asList(walter, mike)), options)
.execute().then(template.getReactiveCqlOperations().queryForResultSet("SELECT TTL(email) FROM group;"));
@@ -169,7 +170,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
walter.setEmail("walter@white.com");
mike.setEmail("mike@sauls.com");
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<Group> loadedMono = batchOperations.update(walter).update(mike).execute()
.then(template.selectOneById(walter.getId(), Group.class));
@@ -184,7 +185,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
walter.setEmail("walter@white.com");
mike.setEmail("mike@sauls.com");
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<Group> loadedMono = batchOperations.update(walter).update(Mono.just(Collections.singletonList(mike))).execute()
.then(template.selectOneById(walter.getId(), Group.class));
@@ -199,7 +200,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
walter.setEmail("walter@white.com");
mike.setEmail("mike@sauls.com");
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<Group> loadedMono = batchOperations.update(Arrays.asList(walter, mike)).execute()
.then(template.selectOneById(walter.getId(), Group.class));
@@ -216,7 +217,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
int ttl = 30;
WriteOptions options = WriteOptions.builder().ttl(ttl).build();
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<ReactiveResultSet> resultSet = batchOperations.update(walter, options).execute()
.then(template.getReactiveCqlOperations().queryForResultSet("SELECT TTL(email), email FROM group;"));
@@ -246,7 +247,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
int ttl = 30;
WriteOptions options = WriteOptions.builder().ttl(ttl).build();
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<ReactiveResultSet> resultSet = batchOperations.update(Collections.singletonList(walter), options)
.update(Mono.just(Collections.singletonList(mike)), options).execute()
.then(template.getReactiveCqlOperations().queryForResultSet("SELECT TTL(email) FROM group;"));
@@ -263,7 +264,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
FlatGroup walter = new FlatGroup("users", "0x1", "walter");
FlatGroup mike = new FlatGroup("users", "0x1", "mike");
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<FlatGroup> loadedMono = template.insert(walter).then(template.insert(mike)).then(Mono.fromRunnable(() -> {
walter.setEmail("walter@white.com");
mike.setEmail("mike@sauls.com");
@@ -281,7 +282,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
FlatGroup walter = new FlatGroup("users", "0x1", "walter");
FlatGroup mike = new FlatGroup("users", "0x1", "mike");
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<FlatGroup> loadedMono = template.insert(walter).then(template.insert(mike)).then(Mono.fromRunnable(() -> {
walter.setEmail("walter@white.com");
mike.setEmail("mike@sauls.com");
@@ -303,7 +304,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
@Test // DATACASS-574
void shouldDeleteEntities() {
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<Group> loadedMono = batchOperations.delete(walter).delete(mike).execute()
.then(template.selectOneById(walter.getId(), Group.class));
@@ -316,7 +317,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
@Test // DATACASS-574
void shouldDeleteCollectionOfEntities() {
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<Group> loadedMono = batchOperations.delete(Arrays.asList(walter, mike)).execute()
.then(template.selectOneById(walter.getId(), Group.class));
@@ -329,7 +330,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
@Test // DATACASS-574
void shouldDeleteMonoOfEntities() {
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<Group> loadedMono = batchOperations.delete(Mono.just(Arrays.asList(walter, mike))).execute()
.then(template.selectOneById(walter.getId(), Group.class));
@@ -347,7 +348,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
long timestamp = (System.currentTimeMillis() + TimeUnit.DAYS.toMillis(1)) * 1000;
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Mono<ReactiveResultSet> resultSet = batchOperations.insert(walter).insert(mike).withTimestamp(timestamp).execute()
.then(template.getReactiveCqlOperations().queryForResultSet("SELECT writetime(email) FROM group;"));
@@ -360,7 +361,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
@Test // DATACASS-574
void shouldNotExecuteTwice() {
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.insert(walter).execute() //
.then(batchOperations.execute()) //
@@ -371,7 +372,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
@Test // DATACASS-574
void shouldNotAllowModificationAfterExecution() {
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.insert(walter).execute().then(Mono.fromRunnable(() -> batchOperations.update(new Group()))) //
.as(StepVerifier::create) //
@@ -381,7 +382,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
@Test // DATACASS-574
void shouldNotAllowModificationAfterExecutionMonoCase() {
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
batchOperations.insert(Mono.just(Collections.singletonList(walter))).execute()
.then(Mono.fromRunnable(() -> batchOperations.update(new Group()))) //
@@ -392,7 +393,7 @@ class ReactiveCassandraBatchTemplateIntegrationTests extends AbstractKeyspaceCre
@Test // DATACASS-574
void shouldSupportMultithreadedMerge() {
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template);
ReactiveCassandraBatchOperations batchOperations = new ReactiveCassandraBatchTemplate(template, BatchType.LOGGED);
Random random = new Random();
for (int i = 0; i < 100; i++) {