Kirill Tkalenko created IGNITE-24658:
----------------------------------------
Summary: NPE ReadWriteTransactionImpl#enlist on primary replica
Key: IGNITE-24658
URL: https://issues.apache.org/jira/browse/IGNITE-24658
Project: Ignite
Issue Type: Bug
Reporter: Kirill Tkalenko
When running a scenario with multiple nodes and periodic node restarts, I found
an error in the logs. It occurs because the primary replica disappears from the
physical topology.
{noformat}
2025-02-27 11:09:28:884 +0000
[INFO][%poc-tester-SERVER-192.168.208.141-id-0%sql-execution-pool-0][JdbcQueryEventHandlerImpl]
Exception while executing query.
java.lang.NullPointerException
at
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.lambda$enlist$0(ReadWriteTransactionImpl.java:122)
at
java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
at
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.enlist(ReadWriteTransactionImpl.java:120)
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager$1.enlist(ExecutionServiceImpl.java:1157)
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager$1.enlist(ExecutionServiceImpl.java:1172)
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager$1.visit(ExecutionServiceImpl.java:1137)
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager$1.visit(ExecutionServiceImpl.java:1120)
at
org.apache.ignite.internal.sql.engine.rel.IgniteTableModify.accept(IgniteTableModify.java:146)
at
org.apache.ignite.internal.sql.engine.prepare.IgniteRelShuttle.visit(IgniteRelShuttle.java:257)
at
org.apache.ignite.internal.sql.engine.prepare.IgniteRelShuttle.visitChild(IgniteRelShuttle.java:277)
at
org.apache.ignite.internal.sql.engine.prepare.IgniteRelShuttle.processNode(IgniteRelShuttle.java:267)
at
org.apache.ignite.internal.sql.engine.prepare.IgniteRelShuttle.visit(IgniteRelShuttle.java:65)
at
org.apache.ignite.internal.sql.engine.prepare.IgniteRelShuttle.visit(IgniteRelShuttle.java:61)
at
org.apache.ignite.internal.sql.engine.rel.IgniteSender.accept(IgniteSender.java:108)
at
org.apache.ignite.internal.sql.engine.prepare.IgniteRelShuttle.visit(IgniteRelShuttle.java:257)
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.enlistPartitions(ExecutionServiceImpl.java:1174)
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.sendFragments(ExecutionServiceImpl.java:1013)
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.lambda$execute$8(ExecutionServiceImpl.java:996)
at
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
at
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
at
org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:86)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)