Project

General

Profile

Actions

Defect #798

closed

Multiprovisioning after commit - old UID

Added by Vít Švanda about 7 years ago. Updated about 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Vít Švanda
Category:
Provisioning
Target version:
Start date:
10/30/2017
Due date:
% Done:

100%

Estimated time:
Affected versions:
Owner:

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).

Actions #1

Updated by Vít Švanda about 7 years ago

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).

Actions #2

Updated by Ondřej Kopr about 7 years ago

Thanks for temporary solution, for current project system and his behavior this solution work awesome. Thanks for that.

Actions #3

Updated by Vít Švanda about 7 years ago

  • % 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).
Actions #4

Updated by Vít Švanda about 7 years ago

  • 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

Actions #5

Updated by Ondřej Kopr about 7 years ago

  • 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.

Actions #6

Updated by Vít Švanda about 7 years ago

  • Status changed from In Progress to Closed
Actions

Also available in: Atom PDF