[midPoint] Connector development: Best approach for slow create operation

Matus Macik matus.macik at evolveum.com
Fri May 24 08:51:22 CEST 2024



Hello, 


I would like to get back to this question. Currently, there is no completely satisfactory way how to deal with such a situation. In the case of such systems, if possible the connector should always communicate with the primary node to which the write was executed (or have some sort of session stickiness which would guarantee this). If this is not possible (in the case of i.e. cloud applications) we have two options, either throw an error or have a loop (preferably with configurable wait time and attempt count) waiting for the result. The problem is that the IaM application has no way of knowing that there is such a delay. It might react to a missing object in such a way as if it was deleted. 


I have described this problem in a work package, so we track this for a potential future improvement: [ https://support.evolveum.com/wp/9725 |  https://support.evolveum.com/wp/9725 ] 


Also, I added a short article to our documentation for connector development: 

https://docs.evolveum.com/connectors/connid/1.x/connector-development-guide/#latency-of-create-operations-and-rate-limits-review 


-- 

Best Regards, 


Matus Macik | Developer and Identity Management Engineer 

matus.macik at evolveum.com | www.evolveum.com 

Evolveum 


From: "midPoint General Discussion" <midpoint at lists.evolveum.com> 
To: "midPoint General Discussion" <midpoint at lists.evolveum.com> 
Cc: "Davy Priem" <davy.priem at vives.be> 
Sent: Monday, May 6, 2024 4:32:18 PM 
Subject: [midPoint] Connector development: Best approach for slow create operation 



Hi, 



We’re currently developing a connector for a Saas application (Unit4) using API’s. We have however an issue with the account creation processing: 

    * Midpoint (4.8) calls connectors createOp to create a new account 
    * Connector calls the API to create the account and the API returns the UID. 
    * Connector passes the UID to Midpoint 
    * Midpoint uses SearchOp to retrieve the account 
    * Connector gets a ‘account creation still busy’ from the API and can’t return any data. (it’s a matter of seconds) 
    * Midpoint marks the shadow as DEAD. 




Has anyone experienced the same issue? Is there any best approach to this? Is throwing a RetryableException exception a good approach? I really want to avoid we have to build in a delay loop in the connector. 



Davy Priem 

Hogeschool VIVES | Dienst IT 







_______________________________________________ 
midPoint mailing list 
midPoint at lists.evolveum.com 
https://lists.evolveum.com/mailman/listinfo/midpoint 

-- 
Best Regards, 

Matus Macik | Developer and Identity Management Engineer 
matus.macik at evolveum.com | www.evolveum.com 
Evolveum 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20240524/07d40b6b/attachment.htm>


More information about the midPoint mailing list