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)

Reply via email to