Bulk converge command stuck in queue with Strict App Synchronization: APK download fails
Android
When a bulk converge command is issued to devices that have Strict App Synchronization enabled, the command stalls in a Queued or In Progress state and APK downloads never complete — even though the devices appear to have internet connectivity.
Why this happens
Strict App Synchronization requires the Esper Agent to download APKs directly from Esper's media server (scapi-sharedorgn3-static-and-media-files.s3.amazonaws.com) before marking convergence complete. The Esper Agent uses a separate network path from the device's browser, so DNS failures or firewall rules that block that specific domain will prevent downloads even when the browser can reach the internet. Download URLs generated at the time the converge command is issued also carry an expiration timestamp; if the device remains offline or blocked long enough, those URLs expire and must be regenerated.
Steps
-
Confirm the converge command reached the device.
In the Esper Console, navigate to Devices & Groups → [Device Name] → Activity Feed and locate the converge command. If the status shows In Progress or Queued, continue to Step 2. If the status shows Failed or Rejected, the root cause is different — skip to If this doesn't resolve it below. -
Check for DNS or download errors in the device log.
Navigate to Devices & Groups → [Device Name] → Activity Feed and expand the most recent converge event. Look for error messages that referencescapi-sharedorgn3-static-and-media-files.s3.amazonaws.comor contain the wordDNS. These errors confirm the Esper Agent cannot reach the media server. -
Test whether the device can reach the media server domain.
On the affected device, open a browser and navigate tohttps://scapi-sharedorgn3-static-and-media-files.s3.amazonaws.com. A403error or an XML response means DNS resolution is working and the domain is reachable — proceed to Step 4. A timeout or DNS error means the device network is blocking the domain; review your firewall allowlist and DNS configuration to permit that hostname before continuing. -
Check whether the download URLs have expired.
In the device error log from Step 2, look for a URL containing anExpires=parameter. Convert the Unix timestamp value to a date and compare it to the current time. If the timestamp has passed, the URLs are expired. Re-issuing a converge command (Step 5) regenerates fresh URLs automatically. -
Re-issue the converge command.
Navigate to Devices & Groups → [Group Name] → Blueprints, select the target blueprint, and click Converge. Re-issuing generates new signed download URLs and clears any transient queue state. Allow up to 10 minutes for devices to complete the download and report back. -
Isolate a network-specific failure (if the issue persists).
Connect one affected device to a different network — for example, a mobile hotspot — and re-issue a converge command to that single device. This step rules out a device-level fault and confirms whether the problem is scoped to your primary network.- If convergence succeeds on the alternate network, work with your network team to allow outbound HTTPS traffic to
*.s3.amazonaws.comon port 443 from your primary network. - If convergence fails on both networks, proceed to If this doesn't resolve it.
- If convergence succeeds on the alternate network, work with your network team to allow outbound HTTPS traffic to
Verify: Navigate to Devices & Groups → [Group Name] → Blueprints and confirm every targeted device shows a Converged status. The Last Converged timestamp should match the time you re-issued the converge command in Step 5. Devices typically update their status within 10 minutes of a successful APK download.
If this doesn't resolve it
If devices remain in a Queued or In Progress state after completing all steps above, contact Esper Support and include the following:
- The group name and approximate number of affected devices
- The exact error message from the Activity Feed, including any URL with an
Expires=parameter - The result of the browser test in Step 3 (reachable vs. timeout/DNS error)
- Whether the alternate network test in Step 6 succeeded or failed
- Your network configuration, including any proxy, firewall, or DNS filtering in use
Still need help?
If the steps above don't resolve the issue, submit a support ticket with your device model, Android version, Esper Agent version, and a description of what you've already tried — this helps the support team investigate without a follow-up.
Please sign in to leave a comment.
Comments
0 comments