Skip to content

Commit 3cd4238

Browse files
committed
Consume shared durable local-emulation kernel in Test Tool
Replace the Test Tool durable emulator's hand-maintained fork of the checkpoint state machine and operation store with the shared Amazon.Lambda.DurableExecution.LocalEmulation package, so it cannot drift from the durable-execution testing package. - Delete the forked CheckpointProcessor and InMemoryOperationStore. - Add WireOperationUpdateMapper (STJ wire DTO -> OperationUpdateInput) and route DurableExecutionStore/DurableExecutionDriver through the kernel's processor, store, exec-0 seeding, and resume-delay helper. - Switch the durable SDK reference from a preview PackageReference to an in-repo source ProjectReference (matching how RuntimeSupport is referenced) so there is a single Amazon.Lambda.DurableExecution assembly identity across the SDK and the kernel. Stacked on the LocalEmulation kernel PR (and PR #2492); builds once both are on the target branch. No user-facing behavior change.
1 parent e76ac33 commit 3cd4238

7 files changed

Lines changed: 87 additions & 485 deletions

File tree

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"Projects": [
3+
{
4+
"Name": "Amazon.Lambda.TestTool",
5+
"Type": "Patch",
6+
"ChangelogMessages": [
7+
"Consume the shared Amazon.Lambda.DurableExecution.LocalEmulation checkpoint state machine and operation store in the durable-execution emulator instead of a private fork, so the emulator and the durable-execution testing package cannot drift. No user-facing behavior change."
8+
]
9+
}
10+
]
11+
}

Tools/LambdaTestTool-v2/src/Amazon.Lambda.TestTool/Amazon.Lambda.TestTool.csproj

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@
2323

2424
<ItemGroup>
2525
<PackageReference Include="Amazon.Lambda.SQSEvents" Version="3.0.0" />
26-
<!-- Public durable-execution wire model (Operation/ErrorObject/OperationTypes/…). The
27-
durable-service emulator reuses these types so its checkpoint responses are byte-for-byte
28-
the envelope the DurableExecution SDK expects; only the inbound request bodies are mapped
29-
through Test Tool-local plain-STJ DTOs (see Services/DurableExecution). -->
30-
<PackageReference Include="Amazon.Lambda.DurableExecution" Version="0.3.2-preview" />
3126
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="4.0.4.1" />
3227
<PackageReference Include="AWSSDK.Lambda" Version="4.0.15.6" />
3328
<PackageReference Include="AWSSDK.SQS" Version="4.0.2.32" />
@@ -45,6 +40,20 @@
4540
<PackageReference Include="BlazorMonaco" Version="3.2.0" />
4641
</ItemGroup>
4742

43+
<!-- Durable-execution support is referenced from in-repo source (like RuntimeSupport below)
44+
rather than as a published package:
45+
- Amazon.Lambda.DurableExecution supplies the public wire model (Operation/ErrorObject/
46+
OperationTypes/…) the durable-service emulator reuses so its checkpoint responses are
47+
byte-for-byte the envelope the SDK expects.
48+
- Amazon.Lambda.DurableExecution.LocalEmulation is the shared in-memory checkpoint state
49+
machine (InMemoryOperationStore/CheckpointProcessor), used via InternalsVisibleTo so the
50+
emulator and the .Testing package cannot drift. A source reference (not a preview package
51+
pin) keeps a single Amazon.Lambda.DurableExecution assembly identity across both. -->
52+
<ItemGroup>
53+
<ProjectReference Include="..\..\..\..\Libraries\src\Amazon.Lambda.DurableExecution\Amazon.Lambda.DurableExecution.csproj" />
54+
<ProjectReference Include="..\..\..\..\Libraries\src\Amazon.Lambda.DurableExecution.LocalEmulation\Amazon.Lambda.DurableExecution.LocalEmulation.csproj" />
55+
</ItemGroup>
56+
4857
<Target Name="GetRuntimeSupportTargetFrameworks">
4958
<Exec Command="dotnet msbuild ../../../../Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj --getProperty:TargetFrameworks" ConsoleToMSBuild="true">
5059
<Output TaskParameter="ConsoleOutput" PropertyName="RuntimeSupportTargetFrameworks" />

Tools/LambdaTestTool-v2/src/Amazon.Lambda.TestTool/Services/DurableExecution/CheckpointProcessor.cs

Lines changed: 0 additions & 316 deletions
This file was deleted.

0 commit comments

Comments
 (0)