Views:

Applies to Product - Microsoft Dataverse


What’s happening?
The customer is experiencing high storage usage due to a large number of system jobs in the AsyncOperation table, which has reached significant sizes, impacting overall system performance.


Reason:
The AsyncOperation table tracks the execution of system jobs, and historical data can cause this table to grow substantially over time. A high number of jobs in a "waiting" state can lead to performance issues and increased storage usage.


Resolution:

  1. Bulk Cancel Waiting Jobs:
  2. Run a bulk cancel operation to cancel all jobs that are in a "waiting" state. Ensure to filter by job type that is in waiting state.
  3. If the page stops responding when attempting to create a bulk cancel job, consider executing a script from the backend to cancel all waiting jobs.
  4. Bulk Delete Canceled Jobs:
  5. After canceling the waiting jobs, run a bulk delete operation to remove all canceled system jobs from the AsyncOperation table.
  6. Set up a recurring bulk delete to target all “system jobs” that are “failed, succeeded, and canceled” to help reduce the size of the AsyncOperation table.
  7. Priority Based Bulk Delete:
  8. Create a “Priority Based Bulk Delete” to target only “waiting” jobs. This functionality is known to perform better than scripting.
  9. Do not set this bulk delete to recur; it should be a one-time operation to ensure it is treated as a priority-based job.
  10. Monitoring:
  11. After executing the bulk delete, monitor the database usage closely. It may take up to 24 hours to see the impact on storage.