Skip to content

Commit 1284d48

Browse files
authored
[fix]: various concurrencyOperation bug fixes (aws#247)
* clean up concurrency config * rename parallel result fields * make DurableContext a DurableFuture interface with extra methods * rename and minor fix * add config for parallel branch and runInChildContext * move proxy methods to DurableFuture * remove duplicate concurrency code * cleanup map operation * minor cleanups * create a thread for concurrency operation * fix race conditions in concurrency operation * avoid marking branch done when parent is done * remove Noop serdes * add anyOf * add anyOf tests
1 parent 77c77ef commit 1284d48

96 files changed

Lines changed: 2171 additions & 2516 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/spec/map.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ import software.amazon.awssdk.services.lambda.model.ContextOptions;
290290
import software.amazon.awssdk.services.lambda.model.Operation;
291291
import software.amazon.awssdk.services.lambda.model.OperationAction;
292292
import software.amazon.awssdk.services.lambda.model.OperationUpdate;
293-
import software.amazon.lambda.durable.CompletionConfig;
293+
import software.amazon.lambda.durable.config.CompletionConfig;
294294
import software.amazon.lambda.durable.DurableContext;
295295
import software.amazon.lambda.durable.TypeToken;
296296
import software.amazon.lambda.durable.model.CompletionReason;
@@ -480,8 +480,8 @@ import java.util.Collections;
480480
import java.util.List;
481481
import java.util.function.Function;
482482
import software.amazon.lambda.durable.DurableContext;
483-
import software.amazon.lambda.durable.MapConfig;
484-
import software.amazon.lambda.durable.MapFunction;
483+
import software.amazon.lambda.durable.config.MapConfig;
484+
import software.amazon.lambda.durable.DurableContext.MapFunction;
485485
import software.amazon.lambda.durable.TypeToken;
486486
import software.amazon.lambda.durable.model.BatchResult;
487487
import software.amazon.lambda.durable.model.OperationSubType;
@@ -900,8 +900,8 @@ package software.amazon.lambda.durable.operation;
900900

901901
import java.util.List;
902902
import software.amazon.lambda.durable.DurableContext;
903-
import software.amazon.lambda.durable.MapConfig;
904-
import software.amazon.lambda.durable.MapFunction;
903+
import software.amazon.lambda.durable.config.MapConfig;
904+
import software.amazon.lambda.durable.DurableContext.MapFunction;
905905
import software.amazon.lambda.durable.model.BatchResult;
906906
import software.amazon.lambda.durable.model.OperationSubType;
907907

examples/src/main/java/software/amazon/lambda/durable/examples/CallbackExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
package software.amazon.lambda.durable.examples;
44

55
import java.time.Duration;
6-
import software.amazon.lambda.durable.CallbackConfig;
76
import software.amazon.lambda.durable.DurableContext;
87
import software.amazon.lambda.durable.DurableHandler;
8+
import software.amazon.lambda.durable.config.CallbackConfig;
99

1010
/**
1111
* Example demonstrating callback operations for external system integration.

examples/src/main/java/software/amazon/lambda/durable/examples/ComplexMapExample.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
import java.time.Duration;
66
import java.util.List;
77
import java.util.stream.Collectors;
8-
import software.amazon.lambda.durable.CompletionConfig;
98
import software.amazon.lambda.durable.DurableContext;
109
import software.amazon.lambda.durable.DurableHandler;
11-
import software.amazon.lambda.durable.MapConfig;
10+
import software.amazon.lambda.durable.config.CompletionConfig;
11+
import software.amazon.lambda.durable.config.MapConfig;
1212

1313
/**
1414
* Example demonstrating advanced map features: wait operations inside branches, error handling, and early termination.

examples/src/main/java/software/amazon/lambda/durable/examples/CustomPollingExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import software.amazon.lambda.durable.DurableConfig;
77
import software.amazon.lambda.durable.DurableContext;
88
import software.amazon.lambda.durable.DurableHandler;
9-
import software.amazon.lambda.durable.InvokeConfig;
9+
import software.amazon.lambda.durable.config.InvokeConfig;
1010
import software.amazon.lambda.durable.retry.JitterStrategy;
1111
import software.amazon.lambda.durable.retry.PollingStrategies;
1212

examples/src/main/java/software/amazon/lambda/durable/examples/ErrorHandlingExample.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
import org.slf4j.LoggerFactory;
77
import software.amazon.lambda.durable.DurableContext;
88
import software.amazon.lambda.durable.DurableHandler;
9-
import software.amazon.lambda.durable.StepConfig;
10-
import software.amazon.lambda.durable.StepSemantics;
9+
import software.amazon.lambda.durable.config.StepConfig;
10+
import software.amazon.lambda.durable.config.StepSemantics;
1111
import software.amazon.lambda.durable.exception.StepFailedException;
1212
import software.amazon.lambda.durable.exception.StepInterruptedException;
1313
import software.amazon.lambda.durable.retry.RetryStrategies;

examples/src/main/java/software/amazon/lambda/durable/examples/GenericInputOutputExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
import org.slf4j.LoggerFactory;
1010
import software.amazon.lambda.durable.DurableContext;
1111
import software.amazon.lambda.durable.DurableHandler;
12-
import software.amazon.lambda.durable.StepConfig;
1312
import software.amazon.lambda.durable.TypeToken;
13+
import software.amazon.lambda.durable.config.StepConfig;
1414
import software.amazon.lambda.durable.retry.RetryStrategies;
1515

1616
/**

examples/src/main/java/software/amazon/lambda/durable/examples/GenericTypesExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
import org.slf4j.LoggerFactory;
1010
import software.amazon.lambda.durable.DurableContext;
1111
import software.amazon.lambda.durable.DurableHandler;
12-
import software.amazon.lambda.durable.StepConfig;
1312
import software.amazon.lambda.durable.TypeToken;
13+
import software.amazon.lambda.durable.config.StepConfig;
1414
import software.amazon.lambda.durable.retry.RetryStrategies;
1515

1616
/**

examples/src/main/java/software/amazon/lambda/durable/examples/RetryInProcessExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import software.amazon.lambda.durable.DurableContext;
1010
import software.amazon.lambda.durable.DurableFuture;
1111
import software.amazon.lambda.durable.DurableHandler;
12-
import software.amazon.lambda.durable.StepConfig;
12+
import software.amazon.lambda.durable.config.StepConfig;
1313
import software.amazon.lambda.durable.retry.JitterStrategy;
1414
import software.amazon.lambda.durable.retry.RetryStrategies;
1515

examples/src/main/java/software/amazon/lambda/durable/examples/SimpleInvokeExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import software.amazon.lambda.durable.DurableContext;
66
import software.amazon.lambda.durable.DurableHandler;
7-
import software.amazon.lambda.durable.InvokeConfig;
7+
import software.amazon.lambda.durable.config.InvokeConfig;
88

99
/**
1010
* Simple example demonstrating basic invoke execution with the Durable Execution SDK.

examples/src/main/java/software/amazon/lambda/durable/examples/WaitAtLeastExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import software.amazon.lambda.durable.DurableContext;
99
import software.amazon.lambda.durable.DurableFuture;
1010
import software.amazon.lambda.durable.DurableHandler;
11-
import software.amazon.lambda.durable.StepConfig;
11+
import software.amazon.lambda.durable.config.StepConfig;
1212
import software.amazon.lambda.durable.retry.RetryStrategies;
1313

1414
/**

0 commit comments

Comments
 (0)