Defect #798
closed
Multiprovisioning after commit - old UID
Added by Vít Švanda about 7 years ago.
Updated about 7 years ago.
Description
If more provisionings for same account are starting in same transaction, then all this provisionings are executed after commit the main transaction. This is very usefull behavior.
Problem occures, when UID in are changed in first provisioning. Next provisionig have old system entity UID and next provisioning is executed against wrong UID (account).
Temporally solution: If is system entity not found after connector called, then we try found system entity by UID returned from the connector.
Main fix may by this: We have to update system entity UID in provisioning operation, before provisioning will be started. Maybe only adding ID of system entity to provisioning operation will be sufficient (and using him instead systemEntityUid in String).
Thanks for temporary solution, for current project system and his behavior this solution work awesome. Thanks for that.
- % Done changed from 0 to 60
I refactored provisioning operation for use system entity id instead system entity UID.
- System entity is loaded directly by ID (not by UID) now.
- Provisioning archive still contains only UID in String (does not have relation on the SystemEntity entity).
- Status changed from In Progress to Needs feedback
- Assignee changed from Vít Švanda to Ondřej Kopr
- % Done changed from 60 to 90
- I solved problem with not updated UID value in Provisioning operation. This occurred when was two and more provisioning operations in the queue and when first provisioning (traged system) changed UID of the account. Next provisionings in the queue was wrong (old) value of UID. This was fixed (provisioning operation has relation on the system entity now).
- Beware - before update we recommand solve/cancel all active provisioning operations. We need to create new column "system_entity_id" and remove old "system_entity_uid". In the change script we will try transform data in the provisioning operation table (from string uid to the ID), but it may not be fully sucessfuly.
- Commit: https://github.com/bcvsolutions/CzechIdMng/commit/139b7d0ff07c7b7114e5a092b12b4b29f0c58d0d
- Status changed from Needs feedback to In Progress
- Assignee changed from Ondřej Kopr to Vít Švanda
- % Done changed from 90 to 100
I tested this behavior on scripted sql system, thanks for flyway transform script.
I change uid in create script and then return back, Identifier in system in Provisioning operations log was changed. And next operations is doing for newly created entity.
Thanks you for you changes.
- Status changed from In Progress to Closed
Also available in: Atom
PDF