Defect #1316
closedSynchronizations of different systems cancel each other
0%
Description
Version 8.1.7
When multiple synchronizations of different systems are running and one of them finishes (correctly), the second synchronization gets stuck. It stops processing accounts, even if there are more accounts to process. The corresponding running task looks like it's still running, but it really isn't doing anything. If you Interrupt the task, then it stops and the synchronization log contains info "Synchronization canceled!".
This is probably fixed in version 8.2.0, but in this version this can create huge problems.
Files
Related issues
Updated by Alena Peterová about 6 years ago
- File sync_one_thread.png sync_one_thread.png added
We found workaround for our project - we configure the Task scheduler to process only one item at time. So the synchronizations can't run in parallel. If one wants to start before the other finishes, it waits in the task scheduler queue. Note that it waits there in the state "Running" (see screenshot), but it doesn't do anything until the first sync stops.
But note that if you want asynchronous provisioning or retry provisioning, then one running synchronization would effectively block processing of provisioning items until the sync finishes.
The settings we used (requires restart):
scheduler.task.executor.corePoolSize=1
scheduler.task.executor.maxPoolSize=1
Updated by Radek Tomiška about 6 years ago
- Related to Task #1121: Execute synchronization asynchronously added
Updated by Vít Švanda about 6 years ago
- Priority changed from High to Normal
Yes, this was fixed in the version 8.2.0.
Updated by Vít Švanda about 6 years ago
One question: Are you sure, that the sync from different system (after finished) ends the second sync? I don`t think this. I think that only LRT task is show as ended (broken), but second sync still continue (see SysSyncLog).
Updated by Alena Peterová about 6 years ago
I tested it again. It really cancelled the synchronization. Strange thing is, yesterday the second synchronization was in the state "running" but didn't process anything. Today it was cancelled immediately.
Updated by Alena Peterová about 6 years ago
- File sync_cancelled.png sync_cancelled.png added
Updated by Alena Peterová about 6 years ago
Another info: I tested this by scheduling the two synchronizations in Task scheduler, because that is my use case.
1) synchronization A scheduled at 10:25:00
2) synchronization B scheduled at 10:25:30
3) synchronization B ends correctly at 10:25:32
4) synchronization A was running but it was somehow canceled at 10:25:33
Updated by Vít Švanda about 6 years ago
Ok, you have right, but I don't see any else solution, than upgrade on higher version of IdM. Changes in the version 8.2.0 for supports 'Execute synchronization asynchronously' was too much big.
Updated by Radek Tomiška over 5 years ago
- Status changed from New to Closed
I'm closing this ticket as known issue for versions < 8.2.0:
https://github.com/bcvsolutions/CzechIdMng/releases/tag/8.1.7