Executing multiple flows in parallel in a process

Certified Senior Developer

What happens when two flows execute simultaneously in a Process Model (the second path gets kicked off by a Rule Event), and both try to update different fields in the same CDT at the potentially the same time? The order they execute in would be non-deterministic. Is it possible that the entire CDT may revert the changes from one of the paths when the other completes? We saw this happen in rare instances in the process history, and it appears to be the result of a race condition with these two writes. (Unfortunately, Process History doesn't go down to the millisecond, or even second, level of granularity, so it is hard to tell how close the calls actually were - just that they were within the same minute)....

OriginalPostID-87428

OriginalPostID-87428

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Senior Developer
    Thanks, Eduardo, however, we are not trying to synchronize a pv across a flow - but ensure that both updates to the same CDT take hold. The updates are to different fields of the CDT. This wouldn't have been an issue at all if they were different pvs, rather than fields of a CDT. I'm just trying to understand the behavior we're seeing where in rare instances it appears that the CDT reverts a write to one field as it writes to another field at roughly the same time.
Reply
  • 0
    Certified Senior Developer
    Thanks, Eduardo, however, we are not trying to synchronize a pv across a flow - but ensure that both updates to the same CDT take hold. The updates are to different fields of the CDT. This wouldn't have been an issue at all if they were different pvs, rather than fields of a CDT. I'm just trying to understand the behavior we're seeing where in rare instances it appears that the CDT reverts a write to one field as it writes to another field at roughly the same time.
Children
No Data