[Bugfix] adding completableFuture docs and minor bug fixes#111
Conversation
fix local runner with skipTime fix handling of SuspendExecutionException in ChildContextOperation
|
The following is AI (GPT 5.5)'s opinion on ADR-002 Phaser vs ADR-003 CompletableFuture for reference: I’d still choose ADR-003 / The short version: Durable operation coordination is fundamentally a completion problem, not a barrier synchronization problem. A step, wait, invoke, or callback eventually reaches a terminal state, and any blocked caller should resume after that terminal state is durably recorded. Why
The best argument for ADR-002 is that So my judgment: ADR-003 is the better long-term design, not because ADR-002 was careless, but because ADR-002 solved a hard problem with a synchronization primitive whose semantics did not quite fit durable replay. For SDK code that customers rely on, boring and directly modeled usually wins. |
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Issue Link, if available
Fix #97
Follow-up actions on previous PR #103
Description
isTerminalStatusSuspendExecutionExceptionproperly, causing flaky test casesCloudDurableTestRunnerwaitForOperationCompletion. Thread local object is set when the thread is started and it is recycled when the thread is terminated.Contextis renamed toThreadContextto reflect that it's stored in thread local.Demo/Screenshots
Checklist
Testing
Unit Tests
Have unit tests been written for these changes? Yes
Integration Tests
Have integration tests been written for these changes? Yes
Examples
Has a new example been added for the change? (if applicable) Yes