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

Mirza Aliev updated IGNITE-23780:
---------------------------------
    Description:     (was: h1. Action table
|| # || stable || pending || in S || in P || in both || action ||
| 1 | empty | empty | no | no | no | nothing |
| 2 | empty | exists | no | no | no | nothing |
| 3 | empty | forced | no | no | no | nothing |
| 4 | exists | empty | yes | no | no | nothing |
| 5 | exists | exists | yes | no | no | nothing |
| 6 | exists | forced | yes | no | no | nothing |
| 7 | empty | empty | no | no | no | nothing |
| 8 | empty | exists | no | yes | no | start |
| 9 | empty | forced | no | yes | no | start |
| 10 | exists | empty | no | no | no | stop |
| 11 | exists | exists | no | yes | no | start |
| 12 | exists | forced | no | yes | no | start |
| 13 | empty | empty | no | no | no | nothing |
| 14 | empty | exists | no | no | no | nothing |
| 15 | empty | forced | no | no | no | nothing |
| 16 | exists | empty | no | no | no | nothing |
| 17 | exists | exists | yes | yes | yes | nothing |
| 18 | exists | forced | yes | yes | yes | nothing |
| 19 | empty | empty | no | no | no | nothing |
| 20 | empty | exists | no | no | no | nothing |
| 21 | empty | forced | no | no | no | nothing |
| 22 | exists | empty | no | no | no | nothing |
| 23 | exists | exists | no | no | no | stop |
| 24 | exists | forced | no | no | no | stop |

h1. Reasons
# NIA
# NIA
# NIA
# already should be started
# already started and in use now
# -Will be rewritten after force reset => stop- already started and in use now
# NIA
# Wasn't started before => start
# Wasn't started before => start
# 
# Wasn't started before => start
# Wasn't started before => start
# NIA
# NIA
# NIA
# NIA
# already should be started
# already should be started
# NIA
# NIA
# NIA
# 
# 

h1. Abbreviations
* *NS*: Node start
* *NIA*: Not in assignments

h1. Improved table
|| # || stable || pending || in S || in P || in both || on restart ||
| 1 | empty | empty | no | no | no | nothing |
| 2 | empty | exists | no | no | no | nothing |
| 3 | empty | forced | no | no | no | nothing |
| 4 | exists | empty | yes | no | no | start |
| 5 | exists | exists | yes | no | no | start |
| 6 | exists | forced | yes | no | no | nothing |
| 8 | empty | exists | no | yes | no | start |
| 9 | empty | forced | no | yes | no | start |
| 10 | exists | empty | no | no | no | nothing |
| 11 | exists | exists | no | yes | no | start |
| 12 | exists | forced | no | yes | no | start |
| 17 | exists | exists | yes | yes | yes | start |
| 18 | exists | forced | yes | yes | yes | start |
| 23 | exists | exists | no | no | no | nothing |
| 24 | exists | forced | no | no | no | nothing |

{quote}
If the node is in a stable, but not in a forced pending, it should not be 
started.

if (     (stable.contains(node) && !(force && pending.contains(node))) || 
pending.contains(node) ) \{   //   node should be started }

if (stable.contains(node) && force && !pending.contains(node)) \{     //   node 
should not be started }

!(stable.contains(node) && force && !pending.contains(node)) == 
!stable.contains(node) || !force ||  pending.contains(node)
{quote}


|| # || A=inStable || B=inPending || C=isForce || start? || STMT ||
| 1 | F | F | F | F | - |
| 2 | F | F | F | F | - |
| 3 | F | F | T | F | - |
| 4 | T | F | F | T | A * !B * !C |
| 5 | T | F | F | T | the same as 4 |
| 6 | T | F | T | F | - |
| 8 | F | T | F | T | !A * B * !C |
| 9 | F | T | T | T | !A * B * C |
| 10 | F | F | F | F | - |
| 11 | F | T | F | T | the same as 8 |
| 12 | F | T | T | T | the same as 9 |
| 17 | T | T | F | T | A * B * !C |
| 18 | T | T | T | T | A * B * C |
| 23 | F | F | F | F | - |
| 24 | F | F | T | F | - |


  A * !B * !C + !A * B * !C + !A * B * C + A * B * !C + A * B * C = = A * !B * 
!C + !A * B * (!C + C) + A * B * (!C + C) = = A * !B * !C + !A * B + A * B = = 
A * !B * !C + B * (!A + A) = = A * !B * !C + B = = A * !(B + C) + B = = 
stable.contains(node)   && !(pending.contains(node) || peinding.isForce())

|  | pending.contains(node) |

A * B * C + A *    !C +     B

A * !C {{=  A * !B * !C + !A * B * !C + !A * B * C + A * B * !C =  A * !C + !A 
* B * !C + !A * B * C =  A * !C + !A * B  =}}  A * !B * !C

1 == !A * B + !B A = T B = T)

> Node restart behaviour for HA mode
> ----------------------------------
>
>                 Key: IGNITE-23780
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23780
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Mirza Aliev
>            Priority: Major
>              Labels: ignite-3
>




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

Reply via email to