Skip to content

NullReferenceException in FlowRecurrentTriggerJobCallback.OnJobConfigure() causes retry storm that degrades entire scale unit #1528

@Elaina-Lee

Description

@Elaina-Lee

Describe the Bug

When a workflow is saved with a malformed HTTP recurrent trigger configuration (a required field is null), the Logic Apps job scheduler throws a NullReferenceException in FlowTriggerJobCallback.OnJobConfigure() (line 143) → FlowRecurrentTriggerJobCallback.OnJobConfigure() (line 126) on every execution attempt. Because the failure happens before any work is done, the scheduler immediately reschedules a retry, creating a tight retry loop at ~290 failures/minute. A single misconfigured workflow can saturate both app instances of its assigned scale unit, driving HttpTriggerJob failure rates to ~77% and triggering Sev2 alerts — with no impact to any other scale units.

Plan Type

Consumption

Steps to Reproduce the Bug or Issue

  1. Create a Logic Apps Consumption workflow with an HTTP recurrent trigger where a required trigger definition field is null or missing
  2. Save and enable the workflow
  3. Observe NullReferenceException in FlowRecurrentTriggerJobCallback.OnJobConfigure() on every job execution
  4. Observe retry storm at ~290 failures/minute on the scale unit hosting the workflow

Workflow JSON

Screenshots or Videos

No response

Additional context

The fix needed is a null guard in FlowTriggerJobCallback.cs line 143 to handle null trigger configuration gracefully (log + skip or disable) rather than throwing an unhandled exception that triggers infinite retries. A single bad workflow should never be able to degrade an entire scale unit.

System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Azure.Workflows.Worker.Jobs.FlowTriggerJobCallback1.OnJobConfigure() in FlowTriggerJobCallback.cs:line 143 at Microsoft.Azure.Workflows.Worker.Jobs.FlowRecurrentTriggerJobCallback2.OnJobConfigure()
in FlowRecurrentTriggerJobCallback.cs:line 126

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions