Help with multiple workflow instances updating the same multi-valued attribute
Hello, I have run into a situation where two workflow instances will try to update a multi-valued attribute. It turns out that in such a situation FIM cannot manage simultaneous updates to the same attribute on the same object. The workflow that gets triggered are trying to perform two different tasks, one is trying to Add a value and the other one is trying to Remove a different value from the multi-valued attribute. These workflows gets triggered upon two different set transitions. Unfortunately as the triggers are different, they cannot be sequenced one after another. Some options considered are: Add a random delay in all the competing workflows. This option may work but there is still a chance of failure if there is not enough randomness and two workflow still gets triggered at the same time Let the workflow fail. Detect the failure and automatically resubmit the request. Are there any other recommendations to handle such a situation? Appreciate your time, Thanks, Jameel Thanks & Regards, Jameel Syed Principal Consultant, fimGuru - Your window into simplified identities jameel.syed@fimguru.com - http://www.fimguru.com
June 15th, 2011 6:42pm

Jameel, I don't have an answer to the problem, but I can confirm that is does happen. I use a multivalued attribute to store a list of entitlements, and when a person changes job titles, several workflows try to add their values at about the same time and you gets lots of failures. IMO - This is something that shouldn't have to be 'worked around' in the workflows. Workflows should be able to execute without being concerned with this. It should be handled somewhere in the FIM system. In my case, I changed from using a multivalued attrib to multiple booleans - one for each entitlement. Not as elegant (or scalable) as I wanted... but it works. -Frank
Free Windows Admin Tool Kit Click here and download it now
June 16th, 2011 3:46am

Frank, I know its kind of unfortunate that workflows don't inherently handle such a collision. It does make me wonder if this problem also effects other standard out of the box multi-valued attributes ExplicitMember, ProxyAddressCollection etc... Does FIM handle these system defined multi-valued attributes differently? Thoughts or ideas from other members are welcome too. Thanks, JameelThanks & Regards, Jameel Syed Principal Consultant, fimGuru - Your window into simplified identities jameel.syed@fimguru.com - http://www.fimguru.com
June 16th, 2011 4:33am

I know you can have the same issue when built-in activities like Function evaluator hit a single-value attribute (like displayName) at the same time - the error is the same if I remember correctly.
Free Windows Admin Tool Kit Click here and download it now
June 16th, 2011 5:45am

I don't think its workflow related, maybe it's the SQL server updates commands FIM are using to lock the record for the current transaction. I think you should design your logic more carefully grouping and prioritizing tasks together
June 16th, 2011 10:46am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics