Recently I've noticed that some synchronization ends with error:
javax.persistence.OptimisticLockException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
If synchronization is started manually there is no problem with the feature.
I think that it can be a problem with scheduled job synchronization on cluster. BasicTimerProvider uses simple, not synchronized java timers and it can cause race condition on database.