Sync job stuck on "uploading"

A job status is stuck on "uploading" for an unusual amount of time, preventing the entire batch from continuing.

Steps to resolve

1. Check your server's memory usage

When syncing large datasets (for example, full syncs of attendance or results data) the Sync Agent can trigger spikes in local SQL service memory utilisation. This is a byproduct of extracting a large dataset, and you should ensure that the server hosting your SQL service is appropriately resourced.

Note: Intellischool recommends a minimum of 16GB RAM for any server hosting an SQL service (regardless of the SQL service vendor). Some vendors may recommend more than this; refer to your SQL service's vendor documentation for more information.

2. Restrict the amount of memory used when uploading

If you are sure that your server is appropriately resourced, but your sync jobs are still getting stuck on "uploading", you can restrict the amount of memory being used by the upload process.

To do so, set an environment variable called AZCOPY_BUFFER_GB to a value (in gigabytes) that should be available for the Sync Agent to utilise when uploading. For example, if you want to limit the upload memory usage to 512MB, set the AZCOPY_BUFFER_GB value to 0.5.

Note: Intellischool recommends keeping the AZCOPY_BUFFER_GB value above 0.5GB at a minimum. For larger schools / institutes with data extracts over 5GB, consider a minimum of 2GB.

Setting the environment variable on Windows machines

Note that the Sync Agent is only supported on Windows Server 2012 R2 (or later) or Windows 10 Build 1902 (or later). To set the AZCOPY_BUFFER_GB variable on a Windows machine:

  1. Log on to the machine as the user that runs the Sync Agent service.
  2. Right click on the Start button, and click System.
  3. Click on Advanced System Settings.
  4. Click on the Environment Variables button.
  5. Click on the New button under the User variables list (at the top of the screen).
  6. Enter AZCOPY_BUFFER_GB as the variable name, and the value you wish to set. Click OK.
  7. Click OK to exit the Environment Variables window.
  8. Click OK to exit the System window.

The AZCOPY_BUFFER_GB variable is now set. There is no need to reboot or restart the machine; the change will come into effect immediately.