-
Notifications
You must be signed in to change notification settings - Fork 3
Late joiner federates
The core framework now supports so-called late joiner federates.
Previously the Federation management worked in a strict synchronous way: whenever the federation manager started, it was waiting for all the federates (listed in the configuraiton) to join, all federates - including the manager - were waiting to reach a synchronization point first and then the federation execution started.
This approach doesn't allow an execution to support federates that may join later into the execution process and/or finish earlier than the end when the whole execution ends.
To address this problem, we introduces late joiner federates and converted previously used federates to expected federates.
Expected federates are federates that federation manager is waiting for before starting the federation execution and waits for them at the end. These 'waits' are done through synchronization points.
Late joiner federates are federates that can only join an already running federation execution and can leave before the execution ends.
When late joiner federates join the federation execution, they sync their times up to the current time of the execution. This allows them to join properly.
The federation manager maintains which federates are online in the federation and what federates have already resigned. Since our approach for the RESTful federation manager didn't change, this information is available through the /federates
endpoint where you can get all the information about the federates that have ever joined the federation execution. The following information is available for one federate:
-
federateId
- the unique identifier of the federate -
federateType
- the type of the federate -
joinTime
- the timestamp when the federate joined the federation execution -
resignTime
- the timestamp when the federate resigned from the federation execution -
timedOutResign
- whether the federate exited properly or not (i.e.: crashed)
« Home