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

Alexander Lapin resolved IGNITE-18139.
--------------------------------------
    Resolution: Cannot Reproduce

> Fix NPE produced by a call from InternalTableImpl#enlistWithRetry()
> -------------------------------------------------------------------
>
>                 Key: IGNITE-18139
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18139
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Roman Puchkovskiy
>            Assignee: Alexander Lapin
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.1
>
>
> I'm doing the following:
>  # Start a cluster of 3 nodes
>  # Create a table with 3 replicas and 1 partition
>  # Stop one node
>  # Make a snapshot on the leader of the partition (twice in a row) - I'm not 
> sure this step is required to reproduce the issue
>  # Start the stopped node
> Then in this code
> private <R> CompletableFuture<R> enlistWithRetry(
>         InternalTransaction tx,
>         int partId,
>         BiFunction<TablePartitionId, Long, ReplicaRequest> requestFunction,
>         int attempts
> ) {
>     CompletableFuture<R> result = new CompletableFuture<>();
>     enlist(partId, tx).<R>thenCompose(
>                     primaryReplicaAndTerm -> {
>                         try {
>                             return replicaSvc.invoke(
>                                     primaryReplicaAndTerm.get1(),
>                                     requestFunction.apply((TablePartitionId) 
> tx.commitPartition(), primaryReplicaAndTerm.get2())
>                             );
> {{primaryReplicaAndTerm}} turns out to contain null as first element, 1 as 
> second element, which causes an NPE further. Probably, 
> {{clusterNodeResolver}} returned null.
> This does not reproduce often, but I saw this a few times.



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

Reply via email to