From f3cdbbc6f095b9651f12c7583a3bc7edd6da848b Mon Sep 17 00:00:00 2001 From: Siri Varma Vegiraju Date: Thu, 15 May 2025 16:27:00 -0700 Subject: [PATCH] Fix the issue with retries not happening correctly for Activities and Workflows (#1343) * Add coverage for some properties (#1297) Signed-off-by: sirivarma * Make the DAPR version being used consistent across all tests (#1299) Signed-off-by: sirivarma * Separate Dapr constants from IT container constants (#1315) Signed-off-by: Artur Ciocanu Co-authored-by: Artur Ciocanu Signed-off-by: sirivarma * Use Java Bean for connection details and add more tests (#1317) * Use Java Bean for connection details and add more tests Signed-off-by: Artur Ciocanu * Simplify mock setup Signed-off-by: Artur Ciocanu * Adding even more tests for test coverage Signed-off-by: Artur Ciocanu --------- Signed-off-by: Artur Ciocanu Co-authored-by: Artur Ciocanu Co-authored-by: Cassie Coyle Signed-off-by: sirivarma * Update CONTRIBUTING.md Signed-off-by: Siri Varma Vegiraju Signed-off-by: sirivarma * Bump codecov/codecov-action from 5.4.0 to 5.4.2 (#1318) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.4.0 to 5.4.2. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v5.4.0...v5.4.2) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: 5.4.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cassie Coyle Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com> Signed-off-by: sirivarma * Fix URL building logic (#1320) * Fix URL building logic Signed-off-by: Artur Ciocanu * Add test for query params Signed-off-by: Artur Ciocanu * Fix the assertion in the test Signed-off-by: Artur Ciocanu * Adjust the tests Signed-off-by: Artur Ciocanu * Remove uneeded changes from IT test Signed-off-by: Artur Ciocanu * Revert some unintended changes Signed-off-by: Artur Ciocanu * Simplify the testing a little bit Signed-off-by: Artur Ciocanu * Adjust the test to use ServerRequest Signed-off-by: Artur Ciocanu * Test removing things from method invoke controller Signed-off-by: Artur Ciocanu * Add query param encoding test Signed-off-by: Artur Ciocanu * Revert some unintended changes Signed-off-by: Artur Ciocanu * Some tiny styles Signed-off-by: Artur Ciocanu --------- Signed-off-by: Artur Ciocanu Co-authored-by: Artur Ciocanu Signed-off-by: sirivarma * Generate updated javadocs for 1.14.1 Signed-off-by: Dapr Bot Signed-off-by: sirivarma * Add Conversation AI to Java SDK (#1235) * Conversation first commit Signed-off-by: Siri Varma Vegiraju Signed-off-by: sirivarma Signed-off-by: siri-varma * Add unit tests Signed-off-by: sirivarma Signed-off-by: siri-varma * change ai to conv Signed-off-by: sirivarma Signed-off-by: siri-varma * Move to single module Signed-off-by: sirivarma Signed-off-by: siri-varma * Remove module Signed-off-by: sirivarma Signed-off-by: siri-varma * Add Integration tests Signed-off-by: siri-varma * Update sdk-tests/src/test/java/io/dapr/it/testcontainers/DaprConversationIT.java Co-authored-by: Cassie Coyle Signed-off-by: Siri Varma Vegiraju Signed-off-by: siri-varma * Fix things Signed-off-by: siri-varma * Address comments Signed-off-by: siri-varma * Import tag Signed-off-by: siri-varma * Address comments Signed-off-by: siri-varma * Make common config Signed-off-by: siri-varma * Address comments Signed-off-by: siri-varma * fix constant Signed-off-by: siri-varma * fix constant Signed-off-by: siri-varma * fix constant Signed-off-by: siri-varma * fix s Signed-off-by: siri-varma * Fix things Signed-off-by: siri-varma * Fix things Signed-off-by: siri-varma * Fix things Signed-off-by: siri-varma * Make common config Signed-off-by: siri-varma * Update README.md Signed-off-by: Siri Varma Vegiraju * Update README.md Signed-off-by: Siri Varma Vegiraju --------- Signed-off-by: Siri Varma Vegiraju Signed-off-by: sirivarma Signed-off-by: siri-varma Signed-off-by: Siri Varma Vegiraju Co-authored-by: Cassie Coyle Co-authored-by: Cassie Coyle Signed-off-by: sirivarma * Add docs for usage of Jobs SDK (#1323) * Add doc for jobs Signed-off-by: siri-varma * Add docs for Jobs Signed-off-by: siri-varma * Apply suggestions from code review Co-authored-by: Cassie Coyle Signed-off-by: Siri Varma Vegiraju --------- Signed-off-by: siri-varma Signed-off-by: Siri Varma Vegiraju Co-authored-by: artur-ciocanu Co-authored-by: Cassie Coyle Signed-off-by: sirivarma * Use dapr/durabletask-java (#1336) * microsoft durabletask-java -> dapr durabletask-java Signed-off-by: Cassandra Coyle * update another ref Signed-off-by: Cassandra Coyle * 1.5.2 release Signed-off-by: Cassandra Coyle * fix import order Signed-off-by: Cassandra Coyle * Sdk new changes Signed-off-by: siri-varma * Refine workflows Signed-off-by: siri-varma * add ; Signed-off-by: Cassandra Coyle * rm try Signed-off-by: Cassandra Coyle --------- Signed-off-by: Cassandra Coyle Signed-off-by: siri-varma Co-authored-by: siri-varma Signed-off-by: sirivarma * Update master version to 1.16.0-SNAPSHOT Signed-off-by: Dapr Bot Signed-off-by: sirivarma * Fix NPE Signed-off-by: siri-varma Signed-off-by: sirivarma * Fix NPE Signed-off-by: siri-varma Signed-off-by: sirivarma * Fix NPE Signed-off-by: siri-varma Signed-off-by: sirivarma * Fix NPE Signed-off-by: siri-varma Signed-off-by: sirivarma * Fix NPE Signed-off-by: siri-varma Signed-off-by: sirivarma * Fix NPE Signed-off-by: siri-varma Signed-off-by: sirivarma * Fix things Signed-off-by: siri-varma Signed-off-by: sirivarma * Renaming and exposing connection details (#1341) Signed-off-by: Artur Ciocanu Co-authored-by: Artur Ciocanu Signed-off-by: sirivarma * [Master] Fix Vulnerabilities (#1354) * update okio Signed-off-by: Cassandra Coyle * rm unused dep Signed-off-by: Cassandra Coyle --------- Signed-off-by: Cassandra Coyle Signed-off-by: sirivarma * Feat Add TLS & mTLS support for gRPC with root CA and insecure mode (#1361) * feat: Support for GRPC ssl Signed-off-by: Javier Aliaga * add tests Signed-off-by: Cassandra Coyle * fix CI Signed-off-by: Cassandra Coyle * add back else if Signed-off-by: Cassandra Coyle * channel cleanup Signed-off-by: Cassandra Coyle * add root ca support Signed-off-by: Cassandra Coyle * checkstyles Signed-off-by: Cassandra Coyle * add insecure Signed-off-by: Cassandra Coyle * fix checkstyles Signed-off-by: Cassandra Coyle * use InsecureTrustManagerFactory Signed-off-by: Cassandra Coyle * fix test Signed-off-by: Cassandra Coyle --------- Signed-off-by: Javier Aliaga Signed-off-by: Cassandra Coyle Co-authored-by: Javier Aliaga Signed-off-by: sirivarma * Address comments Signed-off-by: siri-varma Signed-off-by: sirivarma * Fix things Signed-off-by: siri-varma Signed-off-by: sirivarma * Fix things Signed-off-by: siri-varma Signed-off-by: sirivarma --------- Signed-off-by: sirivarma Signed-off-by: Artur Ciocanu Signed-off-by: Siri Varma Vegiraju Signed-off-by: dependabot[bot] Signed-off-by: Dapr Bot Signed-off-by: Siri Varma Vegiraju Signed-off-by: siri-varma Signed-off-by: Cassandra Coyle Signed-off-by: Javier Aliaga Co-authored-by: Matheus Cruz <56329339+mcruzdev@users.noreply.github.com> Co-authored-by: artur-ciocanu Co-authored-by: Artur Ciocanu Co-authored-by: Cassie Coyle Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com> Co-authored-by: Dapr Bot Co-authored-by: Cassie Coyle Co-authored-by: Javier Aliaga --- .../childworkflow/DemoChildWorkflow.java | 13 ++++- .../DemoChildWorkflowWorker.java | 1 + sdk-workflows/pom.xml | 2 +- .../workflows/WorkflowTaskRetryPolicy.java | 5 +- .../runtime/DefaultWorkflowContext.java | 4 +- .../workflows/DefaultWorkflowContextTest.java | 49 +++++++++++++++++++ 6 files changed, 69 insertions(+), 5 deletions(-) diff --git a/examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkflow.java b/examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkflow.java index c9a9af4557..4c1ac8ddb4 100644 --- a/examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkflow.java +++ b/examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkflow.java @@ -15,6 +15,10 @@ import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; +import io.dapr.workflows.WorkflowTaskOptions; +import io.dapr.workflows.WorkflowTaskRetryPolicy; + +import java.time.Duration; public class DemoChildWorkflow implements Workflow { @Override @@ -22,11 +26,18 @@ public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting ChildWorkflow: " + ctx.getName()); + WorkflowTaskRetryPolicy policy = WorkflowTaskRetryPolicy.newBuilder() + .setFirstRetryInterval(Duration.ofSeconds(1)) + .setMaxNumberOfAttempts(10) + .build(); + + WorkflowTaskOptions options = new WorkflowTaskOptions(policy); + var childWorkflowInput = ctx.getInput(String.class); ctx.getLogger().info("ChildWorkflow received input: " + childWorkflowInput); ctx.getLogger().info("ChildWorkflow is calling Activity: " + ReverseActivity.class.getName()); - String result = ctx.callActivity(ReverseActivity.class.getName(), childWorkflowInput, String.class).await(); + String result = ctx.callActivity(ReverseActivity.class.getName(), childWorkflowInput, options, String.class).await(); ctx.getLogger().info("ChildWorkflow finished with: " + result); ctx.complete(result); diff --git a/examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkflowWorker.java b/examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkflowWorker.java index 0e692551e5..dce40e97e3 100644 --- a/examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkflowWorker.java +++ b/examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkflowWorker.java @@ -32,6 +32,7 @@ public static void main(String[] args) throws Exception { // Build and then start the workflow runtime pulling and executing tasks WorkflowRuntime runtime = builder.build(); + runtime.start(); System.out.println("Start workflow runtime"); } } diff --git a/sdk-workflows/pom.xml b/sdk-workflows/pom.xml index 6d6ef0d12d..26c0c241d0 100644 --- a/sdk-workflows/pom.xml +++ b/sdk-workflows/pom.xml @@ -47,7 +47,7 @@ io.dapr durabletask-client - 1.5.2 + 1.5.3