Potential race condition in Identity Broker processing.
There is a race condition in Identity Broker that can be exhibited by the following:
- Begin a full import against a connected source.
- While full import is occurring, export a new item from the Identity Management platform.
- The full import finishes.
- The change detection takes place and completes.
For some connectors, any export of a new item before the full import finishes will mean that item is not reported in the full import list. This will result in the item being deleted.
For all connectors, if the export of a new item occurs during the change detection phase, it may result in the item being deleted as the item is in the entity repository but not in the list of reported items from the connected source.
For most level 1 compliant connected sources, this will self correct over time, but there may be a window in which the item is in limbo. For level 0 compliant connectors, this will invariably end up with the item being lost, even though it may exist in the connected source.
Customer support service by UserEcho
FINANCE-47will be completed before this, there will still be a window of opportunity for the RACE condition. Any solution at the Identity Broker level must remove this window of opportunity completed.
Start by discussing options with Shane. Possibilities include:
Option 1 is preferred, but it may not be suitable to block an export for potentially hours while an import completes.
Once a suitable resolution has been determined, please add this to the regression test document at INTIDB:Regression Test Document
Matthew, the window for this to occur is quite small and I'm not sure how it would be tested for in a regression test.
Would this not be suitable?
I imagine if the import takes longer than 30 seconds you would have enough of a window to do this.
I can't see where it is stipulated that the connected source must contain a certain number of entities. Is this something that must be considered?
This condition has been unit tested. It's your call whether it should be included in the regression test plan.
Ran into this unit test yesterday - it should suitably cover this issue without the need for additional testing. Issue closed.