Managed Dapr 1.16.4 Scheduler not firing workflow start-jobs — all Dapr Workflows stuck in PENDING

Jorge Galrito 0 Reputation points
2026-07-15T16:01:19.1466667+00:00

Summary All Dapr Workflow instances in this environment remain in runtimeStatus: PENDING and never transition to RUNNING. ScheduleNewWorkflowAsync is accepted (the app logs Scheduled workflow 'CaseBundleWorkflow' with instance ID '<id>') but the Scheduler never delivers the start job back to the sidecar, so execution never begins. This is environment-wide across all workflow instances (14+ requests stuck), not specific to one instance. Onset ~2026-07-15.

Business impact Production court-bundle/report generation is completely down. Officer-initiated bundle requests never produce output.

What we observe

  • New workflow → exists: true, isWorkflowRunning: false, runtimeStatus: 6 (PENDING), createdAt: 0001-01-01 indefinitely.
  • App/sidecar logs: repeated Scheduler stream connected for [JOB_TARGET_TYPE_JOB], Running actor reminder migration from state store to scheduler; during earlier multi-replica operation, remote actor moved, DaprBuiltInActorNotFoundRetries, Error communicating with placement: context canceled.
  • TerminateWorkflowAsync / purge calls hang indefinitely (never return) for affected instances.
  • Example instance: eeff1125-5466-432f-8404-f4515613aaf2 (accepted 12:24Z, never started).

Remediation already attempted (app-side), no effect

  1. Truncated the Dapr Postgres actor/state store (416,082 → 0 rows).
  2. Pinned the app to a single replica (min=max=1) to eliminate actor-placement churn.
  3. Multiple rolling restarts of the revision.
  4. Full scale-to-zero deregistration followed by fresh re-registration.

In every case a newly submitted workflow still stays in PENDING. Because the state store purge had no effect, the stuck triggers appear to reside in the Scheduler service, which we cannot access on managed ACA.

Suspected root cause (please confirm) Consistent with the Dapr Scheduler retention-reminder defect: when workflows are scheduled with stable/deterministic instance IDs and the same ID is later re-scheduled, the prior run's retention reminder fires indefinitely and never drains, accumulating in the Scheduler and saturating it so new workflows can't be dispatched (dapr_runtime_workflow_operation_count{operation=purge_workflow,status=failed} increments ~1/s per affected instance). Reference: dapr/dapr issue #10039; fix lands in Dapr 1.17.8 (which also introduced a separate regression re: missing dapr-callee-app-id, so a build with the retention fix and that resolved is required). This environment moved to the Scheduler-based reminder model in the ACA Dapr 1.16.4 rollout (Mar–Apr 2026).

Requests

  1. Inspect/clear the accumulated, non-draining retention reminders in the Scheduler for env acaenvbv473og3b3ppm (or bounce the managed Scheduler / its etcd) to restore workflow job dispatch.
  2. Advise timeline for moving this environment to a Dapr build containing the 1.17.8-class retention-reminder fix (without the #10039 regression).
  3. Confirm whether any managed-Dapr rollout or Scheduler change reached uksouth on/around 2026-07-15.
  4. Confirm the supported/GA status of Dapr Workflows on ACA and any recommended configuration to avoid Scheduler saturation.

Timeframe: first observed 2026-07-15 ~12:24 UTC; ongoing.

Azure Container Apps
Azure Container Apps

An Azure service that provides a general-purpose, serverless container platform.


2 answers

Sort by: Most helpful
  1. Christos Panagiotidis 3,551 Reputation points
    2026-07-16T12:13:15.9533333+00:00

    Your option (2) is correct: the Dapr runtime version in Azure Container Apps is platform-controlled. Custom version selection is not supported, environments are upgraded automatically, and there is no documented customer command for forcing a specific build or requesting an environment-scoped upgrade. A PATCH that leaves the -msft version unchanged is therefore expected behavior.

    There is another important support boundary here. The current Container Apps Dapr documentation does not list the Workflow API or the actor/workflow SDK packages as supported managed capabilities. PostgreSQL state is also a Tier 2 component, handled on a best-effort basis. Consequently, there is no supported configuration that can guarantee this Workflow/Scheduler scenario or a public rollout date for the 1.17.8-class fix.

    Your evidence—fresh unique IDs remaining PENDING after the state store was emptied, plus terminate/purge calls hanging—does point past application code and toward the managed Scheduler path. Q&A cannot inspect or clear that Scheduler.

    Open a severity-appropriate Azure support case and include the environment resource ID, UK South region, runtime version, first-failure UTC time, several stuck instance IDs, sidecar/placement logs, and the failing purge metric. Ask the service team to inspect Scheduler/etcd health and confirm the regional rollout state.

    Avoid further destructive state-store resets. For immediate production resilience, move the workflow host to self-managed Dapr on AKS or another supported orchestrator until managed Workflow support and the required runtime fix are available.

    Was this answer helpful?

    0 comments No comments

  2. Pravallika KV 18,850 Reputation points Microsoft External Staff Moderator
    2026-07-16T02:39:25.3733333+00:00

    Hi @Jorge Galrito ,

    Thanks for reaching out to Microsoft Q&A.

    This sounds like a platform/runtime scheduling problem where Dapr Workflow schedules are being accepted, but the Scheduler never successfully dispatches the start job to the sidecar, leaving all workflows stuck in runtimeStatus: PENDING.

    • For Azure Container Apps Jobs, there are known platform behaviors where automated triggering can break after certain lifecycle actions (ex: suspend/resume), and the provided workaround in that context is to delete and recreate the job (with event-driven scaling metadata refreshed).
    • For monitoring, use Azure Monitor / Log Analytics (e.g., ContainerAppConsoleLogs_CL) to verify actual execution/log activity when portal/UI history may be incomplete or desynchronized.

    But again: these do not map cleanly to Managed Dapr Workflows.

    Try below:

    • Stop reusing deterministic workflow instance IDs.
    • Generate a unique ID per workflow execution (for example, append a GUID).
    • Upgrade ACA Dapr runtime to a version containing the Scheduler retention-reminder fix (1.17.8-class fix, with the dapr-callee-app-id regression resolved).
    • Reduce workflow retention and periodically purge completed workflows.

    If the issue still persists, please provide the requested details over private message to investigate the issue further, we will check and provide further information.

    Hope this helps!


    If the resolution was helpful, kindly take a moment to click on User's imageand click on Yes for was this answer helpful. And, if you have any further query do let us know.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.