Skip to content

Commit 91eea24

Browse files
authored
Update current version to 7.13.5.Final (#1187)
* Update current version to 7.13.5.Final Refactor of persistence layer that give more flexibility for implementors to implement a different transactional policy without duplicating already existing code. Signed-off-by: fjtirado <ftirados@redhat.com> * Increase awaitTermination timeout in MvStorePersistenceTest Signed-off-by: fjtirado <ftirados@redhat.com> --------- Signed-off-by: fjtirado <ftirados@redhat.com>
1 parent 9bef2f0 commit 91eea24

File tree

4 files changed

+14
-26
lines changed

4 files changed

+14
-26
lines changed

.github/project.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
release:
2-
current-version: 7.13.4.Final
2+
current-version: 7.13.5.Final
33
next-version: 8.0.0-SNAPSHOT

impl/persistence/api/src/main/java/io/serverlessworkflow/impl/persistence/DefaultPersistenceInstanceHandlers.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import static io.serverlessworkflow.impl.WorkflowUtils.safeClose;
1919

20-
import java.time.Duration;
2120
import java.util.Optional;
2221
import java.util.concurrent.ExecutorService;
2322

@@ -27,7 +26,6 @@ public static class Builder {
2726

2827
private final PersistenceInstanceStore store;
2928
private ExecutorService executorService;
30-
private Duration closeTimeout;
3129

3230
private Builder(PersistenceInstanceStore store) {
3331
this.store = store;
@@ -38,17 +36,9 @@ public Builder withExecutorService(ExecutorService executorService) {
3836
return this;
3937
}
4038

41-
public Builder withCloseTimeout(Duration closeTimeout) {
42-
this.closeTimeout = closeTimeout;
43-
return this;
44-
}
45-
4639
public PersistenceInstanceHandlers build() {
4740
return new DefaultPersistenceInstanceHandlers(
48-
new DefaultPersistenceInstanceWriter(
49-
store,
50-
Optional.ofNullable(executorService),
51-
closeTimeout == null ? Duration.ofSeconds(1) : closeTimeout),
41+
new DefaultPersistenceInstanceWriter(store, Optional.ofNullable(executorService)),
5242
new DefaultPersistenceInstanceReader(store),
5343
store);
5444
}

impl/persistence/api/src/main/java/io/serverlessworkflow/impl/persistence/DefaultPersistenceInstanceWriter.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import io.serverlessworkflow.impl.WorkflowContextData;
1919
import io.serverlessworkflow.impl.WorkflowDefinitionData;
20-
import java.time.Duration;
2120
import java.util.Map;
2221
import java.util.Optional;
2322
import java.util.concurrent.CompletableFuture;
@@ -32,18 +31,14 @@ public class DefaultPersistenceInstanceWriter extends AbstractPersistenceInstanc
3231
private final PersistenceInstanceStore store;
3332
private final Map<String, CompletableFuture<Void>> futuresMap = new ConcurrentHashMap<>();
3433
private final Optional<ExecutorService> executorService;
35-
private final Duration closeTimeout;
3634

3735
private static final Logger logger =
3836
LoggerFactory.getLogger(DefaultPersistenceInstanceWriter.class);
3937

4038
protected DefaultPersistenceInstanceWriter(
41-
PersistenceInstanceStore store,
42-
Optional<ExecutorService> executorService,
43-
Duration closeTimeout) {
39+
PersistenceInstanceStore store, Optional<ExecutorService> executorService) {
4440
this.store = store;
4541
this.executorService = executorService;
46-
this.closeTimeout = closeTimeout;
4742
}
4843

4944
@Override
@@ -76,7 +71,7 @@ private void executeTransaction(
7671
try {
7772
transaction.rollback(definition);
7873
} catch (Exception rollEx) {
79-
logger.warn("Exception during rollback. Ignoring it", ex);
74+
logger.warn("Exception during rollback. Ignoring it", rollEx);
8075
}
8176
throw ex;
8277
}

impl/test/src/test/java/io/serverlessworkflow/impl/test/MvStorePersistenceTest.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,39 +32,42 @@
3232
import java.time.Duration;
3333
import java.util.Collection;
3434
import java.util.Map;
35+
import java.util.concurrent.ExecutorService;
3536
import java.util.concurrent.Executors;
3637
import java.util.stream.Stream;
38+
import org.awaitility.Awaitility;
3739
import org.junit.jupiter.api.Test;
3840

3941
public class MvStorePersistenceTest {
4042

4143
@Test
4244
void testSimpleRun() throws Exception {
4345
final String dbName = "db-samples/simple.db";
46+
ExecutorService service = Executors.newSingleThreadExecutor();
4447
try (PersistenceInstanceHandlers handlers =
4548
DefaultPersistenceInstanceHandlers.builder(new MVStorePersistenceStore(dbName))
46-
.withExecutorService(Executors.newSingleThreadExecutor())
47-
.withCloseTimeout(Duration.ofMillis(100))
49+
.withExecutorService(service)
4850
.build();
4951
WorkflowApplication application =
5052
PersistenceApplicationBuilder.builder(WorkflowApplication.builder(), handlers.writer())
5153
.build(); ) {
5254
WorkflowDefinition definition =
5355
application.workflowDefinition(
5456
readWorkflowFromClasspath("workflows-samples/simple-expression.yaml"));
55-
assertNoInstance(handlers, definition);
57+
assertThat(assertNoInstance(handlers, definition)).isTrue();
5658
definition.instance(Map.of()).start().join();
57-
handlers.writer().close();
58-
assertNoInstance(handlers, definition);
59+
Awaitility.await()
60+
.atMost(Duration.ofSeconds(1))
61+
.until(() -> assertNoInstance(handlers, definition));
5962
} finally {
6063
Files.delete(Path.of(dbName));
6164
}
6265
}
6366

64-
private void assertNoInstance(
67+
private boolean assertNoInstance(
6568
PersistenceInstanceHandlers handlers, WorkflowDefinition definition) {
6669
try (Stream<WorkflowInstance> stream = handlers.reader().scanAll(definition)) {
67-
assertThat(stream.count()).isEqualTo(0);
70+
return stream.count() == 0;
6871
}
6972
}
7073

0 commit comments

Comments
 (0)