code change · fixIntegration & APIsofficial - Microsoftreviewed - checked by Opus

#12261 Stop repeated rescheduling of Dataverse synch jobs on bulk changes

The Dataverse synchronization job reschedule logic now checks both the scheduled task's next run time and the job queue entry's earliest start date to avoid repeated rescheduling during bulk changes, reducing unnecessary Service Bus costs.

Pull request · merged into main (BC30) on 2026-10-06 by darjoo · 2 files (+117 -17), 1 AL · fix · tier official · reviewed (checked by Opus)

What changed

  • Reschedule now also checks the job queue entry’s Earliest Start Date/Time and skips jobs already due within the reschedule window
  • Job queue entry is locked before SetTaskReady, and status, task ID and earliest start are re-checked under the lock so concurrent sessions do not each reschedule
  • Reschedule loop moved into new internal procedure RescheduleJobQueueEntriesForTable so tests can call it
  • Targets telemetry showing one reschedule per changed record, which drove Service Bus cost
  • New tests cover moving a later job to about 30 seconds and not rescheduling again when the task’s Not Before is stale
  • Behaviour changes for users or extensions.

AL objects touched

Context

  • Work items: AB#576352
  • Labels: Team: Integrations
  • Systems: integration
  • From the description: “If the job is already due within the reschedule window, skip it.”

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).