[ 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. *Expected behaviour*: Exception is thrown. We should throw TransactionException with error code, that we don't have an actor, who can handle that request. *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();}} The problem can be reproduced in the test {{ItIgniteNodeRestartTest#testOneNodeRestartWithGap}}, which was muted using this ticket. was: *Scenario*: Start two nodes, populate data, stop node, try to {{table.keyValueView().get}} value. *Expected behaviour*: Exception is thrown. TransactionException with error code, that we don't have an actor, who can handle that request. *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();}} The problem can be reproduced in the test {{ItIgniteNodeRestartTest#testOneNodeRestartWithGap}}, which was muted using this ticket. > 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 > Priority: Major > Labels: ignite-3 > > *Scenario*: > Start two nodes, populate data, stop node, try to > {{table.keyValueView().get}} value. > *Expected behaviour*: > Exception is thrown. We should throw TransactionException with error code, > that we don't have an actor, who can handle that request. > *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();}} > The problem can be reproduced in the test > {{ItIgniteNodeRestartTest#testOneNodeRestartWithGap}}, which was muted using > this ticket. -- This message was sent by Atlassian Jira (v8.20.10#820010)