public final class MetadataUpdateProposedMessage extends Object implements DiscoveryCustomMessage
MetadataUpdateAcceptedMessage messages make a basis for
discovery-based protocol for exchanging metadata describing objects in binary format stored in Ignite caches.
All interactions with binary metadata are performed through BinaryMetadataHandler
interface implemented in CacheObjectBinaryProcessorImpl processor.
Protocol works as follows:
ack is sent.
Ack has the same accepted version as pending version
of initial MetadataUpdateProposedMessage message.
MetadataUpdateAcceptedMessage arrives with accepted version
equals to pending version of this metadata to the moment when is was initially read by the thread.| Constructor and Description |
|---|
MetadataUpdateProposedMessage(BinaryMetadata metadata,
UUID origNodeId) |
| Modifier and Type | Method and Description |
|---|---|
DiscoveryCustomMessage |
ackMessage()
Called when custom message has been handled by all nodes.
|
DiscoCache |
createDiscoCache(GridDiscoveryManager mgr,
AffinityTopologyVersion topVer,
DiscoCache discoCache)
Creates new discovery cache if message caused topology version change.
|
IgniteUuid |
id() |
boolean |
isMutable() |
BinaryMetadata |
metadata() |
void |
metadata(BinaryMetadata metadata) |
boolean |
stopProcess()
|
String |
toString() |
int |
typeId() |
public MetadataUpdateProposedMessage(BinaryMetadata metadata, UUID origNodeId)
metadata - BinaryMetadata requested to be updated.origNodeId - ID of node requested update.public IgniteUuid id()
id in interface DiscoveryCustomMessage@Nullable public DiscoveryCustomMessage ackMessage()
ackMessage in interface DiscoveryCustomMessagenull if ack is not required.public boolean isMutable()
isMutable in interface DiscoveryCustomMessageTrue if message can be modified during listener notification. Changes will be sent to next nodes.public boolean stopProcess()
stopProcess in interface DiscoveryCustomMessageTrue if message should not be sent to others nodes after it was processed on coordinator.@Nullable public DiscoCache createDiscoCache(GridDiscoveryManager mgr, AffinityTopologyVersion topVer, DiscoCache discoCache)
createDiscoCache in interface DiscoveryCustomMessagemgr - Discovery manager.topVer - New topology version.discoCache - Current discovery cache.public BinaryMetadata metadata()
public void metadata(BinaryMetadata metadata)
metadata - Metadata.public int typeId()
Follow @ApacheIgnite
Ignite Fabric : ver. 2.6.0 Release Date : July 10 2018