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

Mirza Aliev updated IGNITE-17976:
---------------------------------
    Description: 
*Scenario*:
Start two nodes, populate data, stop node, try to {{table.keyValueView().get}} 
value, that is not presented in the table.

*Expected behaviour*: 
Exception is thrown (we need to agree on the right exception)

*Actual behaviour*: 
We can caught {{ReplicationTimeoutException}}, {{TransactionException}}, 
{{IgniteException}}. Sometimes we fail with {{NullPointerException}}, the 
reason is because we can stop leader of some partition, and for two nodes it is 
impossible to elect new leader, so we get null in {{InternalTableImpl#enlist}} 
when we try to get {{{svc.refreshAndGetLeaderWithTerm();}}


  was:
*Scenario*:
Start two nodes, populate data, stop node, try to {{table.keyValueView().get}} 
value, that is not presented in the table.

*Expected behaviour*: 
Exception is thrown (we need to agree on the right exception)

*Actual behaviour*: 
We can caught {{ReplicationTimeoutException}}, {{TransactionException}}, 
{{IgniteException}}. Sometimes we fail with NullPointerException, the reason is 
because we can stop leader of some partition, and for two nodes it is 
impossible to elect new leader, so we get null in {{InternalTableImpl#enlist}} 
when we try to get {{{svc.refreshAndGetLeaderWithTerm();}}



> Throw correct exception on KeyValueView#get in case of lost majority
> --------------------------------------------------------------------
>
>                 Key: IGNITE-17976
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17976
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Mirza Aliev
>            Assignee: Mirza Aliev
>            Priority: Major
>              Labels: ignite-3
>
> *Scenario*:
> Start two nodes, populate data, stop node, try to 
> {{table.keyValueView().get}} value, that is not presented in the table.
> *Expected behaviour*: 
> Exception is thrown (we need to agree on the right exception)
> *Actual behaviour*: 
> We can caught {{ReplicationTimeoutException}}, {{TransactionException}}, 
> {{IgniteException}}. Sometimes we fail with {{NullPointerException}}, the 
> reason is because we can stop leader of some partition, and for two nodes it 
> is impossible to elect new leader, so we get null in 
> {{InternalTableImpl#enlist}} when we try to get 
> {{{svc.refreshAndGetLeaderWithTerm();}}



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

Reply via email to