[ 
https://issues.apache.org/jira/browse/IGNITE-4637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Paschenko updated IGNITE-4637:
----------------------------------------
    Description: 
*Normal flow*
1) When participating node completed operation, it sends 
{{PARTICIPANT_FINISHED}} message to coordinator.
2) When coordinator collected responses from all participants, it notifies 
originator with {{FINISHED}} request.
3) Originator responds coordinator with {{FINISHED_ACK}} message.
4) Coordinator responds to all peers with {{PARTICIPANT_FINISHED_ACK}} message.

*Originator leave*
1) Coordinator marks originator as "notified", and sends 
{{PARTICIPANT_FINISHED_ACK}} message to participants after all 
{{PARTICIPANT_FINISHED}} are collected.

*Participant leave*
1) Coordinator marks participant as "finished" and no longer waits for any 
responses from it.

*Coordinator leave*
1) The oldest node among remaining participants is elected as new coordinator.
2) Coordinator *polls* explicitly operation state from participants with 
{{IS_PARTICIPANT_FINISHED}} message.
3) Participants re-send {{PARTICIPANT_FINISHED}} message to new coordinator.
4) If all participant nodes have left, originator feature is completed with 
error.

  was:
*Normal flow*
1) When participating node completed operation, it sends 
{{PARTICIPANT_FINISHED}} message to coordinator.
2) When coordinator collected responses from all participants, it notifies 
originator with {{FINISHED}} request.
3) Originator responds coordinator with {{FINISHED_ACK}} message.
4) Coordinator responds to all originators with {{PARTICIPANT_FINISHED_ACK}} 
message.

*Originator leave*
1) Coordinator marks originator as "notified", and sends 
{{PARTICIPANT_FINISHED_ACK}} message to participants after all 
{{PARTICIPANT_FINISHED}} are collected.

*Participant leave*
1) Coordinator marks participant as "finished" and no longer waits for any 
responses from it.

*Coordinator leave*
1) The oldest node among remaining participants is elected as new coordinator.
2) Coordinator *polls* explicitly operation state from participants with 
{{IS_PARTICIPANT_FINISHED}} message.
3) Participants re-send {{PARTICIPANT_FINISHED}} message to new coordinator.
4) If all participant nodes have left, originator feature is completed with 
error.


> Implement DDL operation completion protocol
> -------------------------------------------
>
>                 Key: IGNITE-4637
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4637
>             Project: Ignite
>          Issue Type: Sub-task
>          Components: SQL
>            Reporter: Vladimir Ozerov
>             Fix For: 2.0
>
>
> *Normal flow*
> 1) When participating node completed operation, it sends 
> {{PARTICIPANT_FINISHED}} message to coordinator.
> 2) When coordinator collected responses from all participants, it notifies 
> originator with {{FINISHED}} request.
> 3) Originator responds coordinator with {{FINISHED_ACK}} message.
> 4) Coordinator responds to all peers with {{PARTICIPANT_FINISHED_ACK}} 
> message.
> *Originator leave*
> 1) Coordinator marks originator as "notified", and sends 
> {{PARTICIPANT_FINISHED_ACK}} message to participants after all 
> {{PARTICIPANT_FINISHED}} are collected.
> *Participant leave*
> 1) Coordinator marks participant as "finished" and no longer waits for any 
> responses from it.
> *Coordinator leave*
> 1) The oldest node among remaining participants is elected as new coordinator.
> 2) Coordinator *polls* explicitly operation state from participants with 
> {{IS_PARTICIPANT_FINISHED}} message.
> 3) Participants re-send {{PARTICIPANT_FINISHED}} message to new coordinator.
> 4) If all participant nodes have left, originator feature is completed with 
> error.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to