Another aspect is directed towards preventing a race condition in which at least two non-partitioned clusters are concurrently attempting to activate the component, including detecting the race condition state and selecting only one winning component instance for activation. Preventing the race condition comprises performing a deterministic operation to select the winning component instance for activation.
In one or more aspects, a distributed computing system includes a plurality of clusters, each cluster having a runtime executing in at least one server memory on at least one processor. The runtime is configured to prevent race conditions in which two or more clusters are concurrently attempting to activate a component, and to allow duplicate components to exist when clusters are partitioned, including to associate state data with each possible duplicate indicating the possibly duplicate state. The runtime evaluates the state data when clusters are no longer partitioned to remove any duplicate component so as to have only one component survive for any duplicate that existed.
For a given component (or type), the runtime may be configured to prevent another component from being activated if a partition exists between clusters of the distributed computing system.
The runtime may be configured to optimistically activate a component before each other cluster has responded as to whether the component is activated on another cluster.