To resolve data synchronizing issues between the desktop and Alfresco repository, we recommend you first try to isolate where the issue is occurring.
- Desktop gets no response from the server
- Topic messages or events are not being dispatched
- Rollback transaction exceptions in client, such as desktop or Share
- Changes made from Share are not committed to the database
- Desktop Sync cannot register, subscribe or synchronize with Share
- ActiveMQ is down
- Synchronization service is down
- Repository is down
- Sync PostgreSQL database down
- Optimal memory setting
If you see a client error message when you try to synchronize data from the desktop to the repository, it could mean that either the repository or synchronization service is down.
Check that the repository, ActiveMQ and Sync Service are all up. Check the repository and Sync Service log files.
If you see that the ActiveMQ queue is growing, it could mean that the Sync Service is down. In such an event, the updates will not be pulled off ActiveMQ and the Sync Service will not get any updates or changes.Check that the Sync Service is up. Check the Sync Service log for exceptions.
ActiveMQ down or repository connection to ActiveMQ down.
Note that if the repository can't contact ActiveMQ, all transactions will fail.
If you see that the changes made from Share are not getting queued in ActiveMQ or the Sync Service cannot request changes from subscription service, it means that ActiveMQ is down. In such an event, changes from Share cannot be synced to ActiveMQ, as a result both the synchronization and subscription services will be out of sync with Share. Also, the Sync Service will terminate.
Check the ActiveMQ, repository, and services logs. Restart ActiveMQ, the Sync Service, and the desktop to check if that resolves the issue.
Desktop Sync cannot register, subscribe or synchronize with the repository
Try the following:
- Check that the repository is up.
- Check the repository log for exceptions.
- Make sure that the Sync Service amp has been applied to the repository.
- Check that the Sync Service is up.
- Check the Sync Service logs for exceptions.
If you are using an ActiveMQ cluster, you benefit from reliable high performance and load balancing of messages. If ActiveMQ is down, the transaction will fail and any file(s) added to the Alfresco folder on your desktop will be deferred. In File Explorer/Finder, the file will show a blue icon and a notification is displayed on the system tray. When ActiveMQ is up and running again, the file is synced and shows a green icon in the File Explorer/Finder.
If the Alfresco folder goes down, the size of the Consumer.*.VirtualTopic.alfresco.repo.events.nodes queue in ActiveMQ grows. The dispatched number does not increase and the events will be retained until the Sync Service comes back again.
While the Sync Service is down, any file to the Alfresco folder on your desktop will be deferred until the Alfresco folder is back up. In File Explorer/Finder, the file will shows a blue icon and a notification is displayed on the system tray.
If the Alfresco repository is down, any file(s) added to the Alfresco folder will be deferred until the repository is back again. In File Explorer/Finder, the file will shows a blue icon and a notification is displayed on the system tray/notifications.
If you are using a PostgreSQL database cluster, the chances of your database being down are rare in a production environment. If it does occur, the files added to the Alfresco folder on the desktop will be deferred.
In File Explorer/Finder, the file will show a blue icon and a notification is displayed.
- The amount of sync activity; more syncs will require more memory.
- The number of sync changes per sync. Syncing files and folders consume memory until the sync is complete. After syncing is complete, the memory is reclaimed. By default, the client syncs every 5 minutes, but this needs to account for users going offline for long periods of time. So, the calculation must account for this time.
- The setting of the sync.cache.expiryTime property in the config.yml file. The default value is 30s. This will reclaim the memory used by a sync after 30s if it hasn't already been reclaimed.