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

Evgeny Stanilovsky updated IGNITE-24420:
----------------------------------------
    Description: 
Perform checks on coordinator node.
Check zone exist, all zone related partitions are in operable state (i.e. 
majority is not lost).

1. Check and if all ok it need to change through CAS NOTHING into 
GlobalOperationStatus#INITIATED (don`t forget term) 

Flow:
# get message on CPCC coordinator
# perform related checks on coordinator, on failure - finish message future 
with exception.
# change state CAS: NOTHING -> INITIATED (take term into account)
# decide that message future completed when CAS finished
# message future need to complete exceptionally if CAS failed 

Tests:
# Cover zone without majority
# Sequential cpcc tasks with the same zone - only one need to be processed, 
others - complete with err code.

  was:
Perform checks on coordinator node.
Check zone exist, all zone related partitions are in operable state (i.e. 
majority is not lost).

1. Check and if all ok it need to change through CAS NOTHING into 
GlobalOperationStatus#INITIATED (don`t forget term) 

Flow:
# get message on CPCC coordinator
# perform related checks on coordinator, on failure - finish message future 
with exception.
# change state CAS: NOTHING -> INITIATED (take term into account)
# decide that message future completed when CAS finished
# message future need to complete exceptionally if CAS failed 

Tests:
# Cover zone without majority


> CPCC. Implement pre CPCC initialization checks
> ----------------------------------------------
>
>                 Key: IGNITE-24420
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24420
>             Project: Ignite
>          Issue Type: Task
>          Components: sql
>    Affects Versions: 3.0
>            Reporter: Evgeny Stanilovsky
>            Priority: Major
>              Labels: ignite-3
>
> Perform checks on coordinator node.
> Check zone exist, all zone related partitions are in operable state (i.e. 
> majority is not lost).
> 1. Check and if all ok it need to change through CAS NOTHING into 
> GlobalOperationStatus#INITIATED (don`t forget term) 
> Flow:
> # get message on CPCC coordinator
> # perform related checks on coordinator, on failure - finish message future 
> with exception.
> # change state CAS: NOTHING -> INITIATED (take term into account)
> # decide that message future completed when CAS finished
> # message future need to complete exceptionally if CAS failed 
> Tests:
> # Cover zone without majority
> # Sequential cpcc tasks with the same zone - only one need to be processed, 
> others - complete with err code.



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

Reply via email to