Vladimir Ozerov created IGNITE-4639:
---------------------------------------
Summary: Share information about DDL schema changes with existing node
Key: IGNITE-4639
URL:
https://issues.apache.org/jira/browse/IGNITE-4639 Project: Ignite
Issue Type: Sub-task
Reporter: Vladimir Ozerov
Fix For: 2.0
Some existing nodes will not participate in DDL operations. Namely:
1) Client nodes;
2) Server nodes without affected cache;
3) Nodes which joined before finish of {{INIT}} phase of particular DDL operation. At this point coordinator doesn't know whether this operation will be started or not, so information about it is not shared with joining node.
We need to inform this nodes about started DDL operations somehow, ensuring proper ordering. Custom discovery message is good candidate, but unfortunately it doesn't work for client nodes.
Possible solution:
1) Initial state is shared through custom discovery data.
2) Completed updates are broadcasted from coordinator node to all other nodes through {{DDL_CHANGE}} messages.
3) {{DDL_CHANGE}} messages must be processed in a single thread to avoid concurrency issues.
4) If {{DDL_CHANGE}} message arrived before custom discovery data (i.e. we have a race between IO and discovery flows), it's processing should be delayed until custom disco data is processed.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)