ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ozerov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-4633) Initiate DDL operation through custom discovery message
Date Fri, 03 Mar 2017 09:27:45 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-4633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15893977#comment-15893977
] 

Vladimir Ozerov commented on IGNITE-4633:
-----------------------------------------

[~al.psc], I did some refactoring and simplification. Please see my changes.

Currently my only comment is how we determine set of participating nodes. It should happen
on client, not on coordinator, because in future client will track alive nodes and complete
operation with error if all participants have left the grid. So we should make set of participating
nodes final field and initialize it on the client. Current {{nodeState}} field must be renamed
to {{nodeErrs}}.

By the way, do we really need to collect errors from all nodes? Will it be enough to collect
only the very first error and simply ignore init message on further 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
>            Assignee: Alexander Paschenko
>             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)

Mime
View raw message