Details
Description
I found a case that cannot be recorded as pending operation in midpoint-4.0 (support-4.0 branch).
Reproduce Steps:
- Open the user edit page.
- Shutdown the LDAP server.
- Modify the user attribute mapped to the LDAP attribute, then save it with the "Reconcile" option.
=> It causes network error to connect LDAP. The change was saved into midPoint repository, but the pending operation was not recorded in the shadow object.
Also, I think there are other cases that trigger the reconciliation process.
e.g. Assignment with start date or end date.
It's evaluated by the Validity Scanner task, which recomputes the target object. Recomputation process triggers reconcile internally. If there is a connection problem to the LDAP server when the Validity Scanner task runs, the failure operation isn't recorded as a pending operation. It causes an inconsistency problem.