Problem

User Sync can't run another synchronization because it is falsely reporting that another sync is still running.

Cause

Sometimes User Sync is not able to complete a sync because of unforeseen events which cannot be catched in our app's code directly,
an intermittent database outage for instance.

Solution

Until we've implemented a notification for that directly, you can monitor the log file after changing the logging as per the these instructions:

Add a new package to the log for your Atlassian host product and make sure it's persistent across instance restarts.
See the instructions on how to do that for Jira, Confluence, Bitbucket, Bamboo and Fisheye/ Crucible.

Starting from SAML SSO v6.7.0 / User Sync v2.10.0, the below package needs to be logged with INFO level.

de.resolution.usersync.startstop
CODE

Whenever a sync starts/ends, a new record in the log file will be created. Based on this, you can set up and alert / automation to get notified. 

Here are some examples of the different states and their records in the log file:

Sync has started

2023-08-04 08:48:49,953 INFO [Caesium-1-2] [de.resolution.usersync.startstop] sync Starting sync for Connector new Azure (5053c073-e52e-46f6-a111-91c3ececd7a6)
BASH

Sync has partially failed

2023-08-04 08:50:43,610 INFO [Caesium-1-3] [de.resolution.usersync.startstop] sync Ended sync for Connector new Azure (5053c073-e52e-46f6-a111-91c3ececd7a6), status is DONE with result PARTIALLY_FAILED, check Sync Status 21 for details.
BASH

Sync has failed

2023-08-04 08:52:03,659 INFO [Caesium-1-3] [de.resolution.usersync.startstop] sync Ended sync for Connector new Azure (5053c073-e52e-46f6-a111-91c3ececd7a6), status is DONE with result FAILED, check Sync Status 23 for details.
BASH