| Modifier and Type | Field and Description |
|---|---|
static IgniteProductVersion |
PROTOCOL_V2_VERSION_SINCE
Exchange latch V2 protocol introduces following optimization: Joining nodes are explicitly excluded from possible
latch participants.
|
| Constructor and Description |
|---|
ExchangeLatchManager(GridKernalContext ctx)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
canSkipJoiningNodes(AffinityTopologyVersion topVer)
Checks that latch manager can use V2 protocol and skip joining nodes from latch participants.
|
void |
dropLatch(String id,
AffinityTopologyVersion topVer)
Drops the latch created by
getOrCreate(String, AffinityTopologyVersion). |
Latch |
getOrCreate(String id,
AffinityTopologyVersion topVer)
Creates new latch with specified
id and topVer or returns existing latch. |
String |
toString() |
public static final IgniteProductVersion PROTOCOL_V2_VERSION_SINCE
public ExchangeLatchManager(GridKernalContext ctx)
ctx - Kernal context.public Latch getOrCreate(String id, AffinityTopologyVersion topVer)
id and topVer or returns existing latch.
Participants of latch are calculated from given topVer as alive server nodes. If local node is
coordinator ServerLatch instance will be created, otherwise ClientLatch instance.id - Latch id.topVer - Latch topology version.public void dropLatch(String id, AffinityTopologyVersion topVer)
getOrCreate(String, AffinityTopologyVersion). The corresponding
latch should be created before this method is invoked.
This method must be called when it is guaranteed that all nodes have processed the latch messages. In the context of partitions map exchange this can be done when exchange future is completed.
id - Latch id.topVer - Latch topology version.public boolean canSkipJoiningNodes(AffinityTopologyVersion topVer)
topVer - Topology version.IgniteException - If nodes for the given topVer cannot be found in the discovery history.
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.8.1 Release Date : May 21 2020