Skip to content

v3.21.23

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Jan 19:39
· 89 commits to refs/heads/main since this release
9463cd6

What’s Changed

  • Implement sync workflow execution (fixes #659), upgrade to JDK 21, remove deprecated DynoQueue (#703) @v1r3n

    Synchronous Workflow Execution

    This PR introduces synchronous workflow execution capabilities, allowing clients to start a workflow and wait for it to complete (or reach a specific task) within a single HTTP request.

    New API Endpoint:

    • POST /api/workflow/execute/{name}/{version} - Execute a workflow synchronously with configurable wait conditions

    Key Features:

    • Wait for workflow completion or until a specific task reference is reached
    • Configurable wait timeout (default: 10 seconds)
    • Multiple return strategies: TARGET_WORKFLOW, BLOCKING_WORKFLOW, BLOCKING_TASK, BLOCKING_TASK_INPUT
    • Support for dynamic workflow definitions in request body
    • Idempotency via requestId parameter

    Supporting Changes:

    • New models: SignalResponse, WorkflowRun, TaskRun, WorkflowSignalReturnStrategy
    • Enhanced NotificationResult class with reactive support and blocking task detection
    • New ExecutorUtils for workflow traversal and blocking task identification
    • Enhanced WorkflowSweeper with improved notification handling
    • New SweeperProperties for sweeper configuration
    • Updates to Wait task to support signal-based workflow unblocking
    • Service layer additions in WorkflowService for sync execution support

    Infrastructure Improvements

    Dyno Queue Cleanup:

    • Removed deprecated DynoQueueDAO implementation
    • Cleaned up Dyno-specific Redis queue configurations
    • Removed RedisQueuesShardingStrategyProvider (no longer needed)
    • Added minimal Dyno connectionpool classes for backward compatibility

    JDK Upgrade

    • Upgraded to JDK 21

    Bug Fixes & Test Updates

    • Fixed workflow reconciliation and sweeper behavior
    • Updated test configurations across multiple modules
    • Fixed SQLite integration tests
    • Updated WorkflowResource tests for new sync execution endpoints
    • Removed obsolete test properties

    Fixes #659