[
https://issues.apache.org/jira/browse/IGNITE-4633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Ozerov updated IGNITE-4633:
------------------------------------
Description:
Design considerations:
1) Create generic DDL custom discovery message pair - {{INIT}} and {{ACK}}
messages - which will hold concrete DDL commands.
2) Originator must generate unique message ID to be able to track it later.
3) Coordinator calculates all participants through affinity API and adds them
to message.
4) {{INIT}} message goes through the ring and:performs some fast preliminary
checks if necessary and collects error; in particular it may verify whether
schema change is valid to allow for fail-fast client notification.;
5) If at least one error occurs during {{INIT}} stage, originator may throw
exception to the user.
6) {{ACK}} message schedules asynchronous execution of the command.
was:
Design considerations:
1) Create generic DDL custom discovery message pair - {{INIT}} and {{ACK}}
messages - which will hold concrete DDL commands:
2) {{INIT}} message goes through the ring and:
- Collect IDs of all participating nodes;
- Perform some fast preliminary checks if necessary;
- Collect errors if needed;
3) If at least one error occur - throw exception on a originator node;
4) If all is OK - send {{ACK}} message.
5) {{ACK}} message initiates actual operation. No-op at the moment.
6) Finally, originator node is provided with the list of participating nodes.
> Initiate DDL operation through custom discovery message
> -------------------------------------------------------
>
> Key: IGNITE-4633
> URL: https://issues.apache.org/jira/browse/IGNITE-4633
> Project: Ignite
> Issue Type: Sub-task
> Components: SQL
> Reporter: Vladimir Ozerov
> Fix For: 2.0
>
>
> Design considerations:
> 1) Create generic DDL custom discovery message pair - {{INIT}} and {{ACK}}
> messages - which will hold concrete DDL commands.
> 2) Originator must generate unique message ID to be able to track it later.
> 3) Coordinator calculates all participants through affinity API and adds them
> to message.
> 4) {{INIT}} message goes through the ring and:performs some fast preliminary
> checks if necessary and collects error; in particular it may verify whether
> schema change is valid to allow for fail-fast client notification.;
> 5) If at least one error occurs during {{INIT}} stage, originator may throw
> exception to the user.
> 6) {{ACK}} message schedules asynchronous execution of the command.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)