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

Alexander Lapin updated IGNITE-23874:
-------------------------------------
    Description: 
It's required to implelement following logic on partition start.
{code:java}
1. chain.link(nodeName) sends stateRequest(chain.link(current).next().cfgIndex, 
chain.link(nodeName)next.nodes() - chain.link(nodeName).next.next.nodes()

2. stateRequestHandling
      return nodeAlive || hasUserInputs

3.majorityOf(stateRequestHandlingResponse) processing
       if (true) {
         thisNodeOrPrevLinkHasUserInputs = true;
         do not start. (erase local state (?))
       }
       else {
       if (hasUserInputs()) {
         start
       } else {
          do not start. (erase local state (?))
       }
    } {code}
[~alapin] will provide more detailed description today.

  was:
It's required to implelement following logic on partition start.
{code:java}
chain.link(nodeName) sends stateRequest(chain.link(current).next().cfgIndex, 
chain.link(nodeName)next.nodes() - chain.link(nodeName).next.next.nodes()
stateRequestHandling
      return nodeAlive || hasUserInputs
    4.majorityOf(stateRequestHandlingResponse) processing
       if (true) {
         thisNodeOrPrevLinkHasUserInputs = true;
         do not start. (erase local state (?))
       }
       else {
       if (hasUserInputs()) {
         start
       } else {
          do not start. (erase local state (?))
       }
    } {code}
[~alapin] will provide more detailed description today.


> Implement the skeleton of the HA partition graceful start
> ---------------------------------------------------------
>
>                 Key: IGNITE-23874
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23874
>             Project: Ignite
>          Issue Type: New Feature
>            Reporter: Alexander Lapin
>            Assignee: Kirill Gusakov
>            Priority: Major
>              Labels: ignite-3
>
> It's required to implelement following logic on partition start.
> {code:java}
> 1. chain.link(nodeName) sends 
> stateRequest(chain.link(current).next().cfgIndex, 
> chain.link(nodeName)next.nodes() - chain.link(nodeName).next.next.nodes()
> 2. stateRequestHandling
>       return nodeAlive || hasUserInputs
> 3.majorityOf(stateRequestHandlingResponse) processing
>        if (true) {
>          thisNodeOrPrevLinkHasUserInputs = true;
>          do not start. (erase local state (?))
>        }
>        else {
>        if (hasUserInputs()) {
>          start
>        } else {
>           do not start. (erase local state (?))
>        }
>     } {code}
> [~alapin] will provide more detailed description today.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to