code change · fixAL Developmentofficial - Microsoftreviewed - checked by Opus

#11257 Fix duplicate retention continuations for Waiting jobs

Retention policy continuation scheduling now detects Waiting jobs to prevent duplicate continuations when the dispatcher moves a job to Waiting status, checking for existing Waiting work before creating or restarting continuations.

Pull request · merged into main (BC30) on 2026-09-23 by darjoo · 2 files (+240 -9), 1 AL · fix · tier official · reviewed (checked by Opus)

What changed

  • Check for Waiting continuations before selecting Ready or On Hold jobs to prevent duplicates
  • Use IsEmpty() for efficient Waiting job detection without materializing records
  • Waiting work takes priority in scheduling decisions
  • Internal scheduling helper returns whether a create or restart actually occurred
  • Six new test cases cover duplicate prevention and priority scenarios
  • Behaviour changes for users or extensions.

AL objects touched

Context

  • Work items: AB#649571
  • Labels: Team: Integrations
  • Systems: development
  • From the description: “Once the dispatcher moved an existing continuation to Waiting, another limit-exceeded notification could create a duplicate.”

Source: metadata of a merged pull request in microsoft/BCApps (bcapps): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).