Defect #1316
closed
Synchronizations of different systems cancel each other
Added by Alena Peterová about 6 years ago.
Updated over 5 years ago.
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
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
- Related to Task #1121: Execute synchronization asynchronously added
- Priority changed from High to Normal
Yes, this was fixed in the version 8.2.0.
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).
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.
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
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.
- Status changed from New to Closed
Also available in: Atom
PDF