Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NullPointerException during Client Node Join in Apache Ignite 2.15.0 #11983

Open
jamnaritesh opened this issue Apr 4, 2025 · 3 comments
Open

Comments

@jamnaritesh
Copy link

NullPointerException during Client Node Join in Apache Ignite 2.15.0

Environment:
Apache Ignite Version: 2.15.0
Cluster Size: 14 server nodes, 4 client nodes
Deployment: Dockerized nodes with host networking
JDK: Java 17
OS: RHEL 9

Summary
When a client node attempts to join an existing Apache Ignite cluster, a NullPointerException is thrown during the partition map exchange phase. The error occurs in GridCachePartitionExchangeManager.clientTopology, where it attempts to invoke .config() on a null CacheGroupDescriptor.

Error Logs
04-04-2025 19:59:10.857 [sys-#86] ERROR ROOT.? - Critical system error detected. Will be handled accordingly to configured handler [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext [type=CRITICAL_ERROR, err=java.lang.NullPointerException: Cannot invoke "o.a.i.i.processors.cache.CacheGroupDescriptor.config()" because "grpDesc" is null]] java.lang.NullPointerException: Cannot invoke "org.apache.ignite.internal.processors.cache.CacheGroupDescriptor.config()" because "grpDesc" is null at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.clientTopology(GridCachePartitionExchangeManager.java:1055) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.lambda$updatePartitionFullMap$81bdb8e8$1(GridDhtPartitionsExchangeFuture.java:4831) at org.apache.ignite.internal.util.IgniteUtils.lambda$null$3(IgniteUtils.java:11609) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Suppressed: java.lang.NullPointerException: Cannot invoke "org.apache.ignite.internal.processors.cache.CacheGroupDescriptor.config()" because "grpDesc" is null ... 7 common frames omitted 04-04-2025 19:59:10.899 [sys-#86] ERROR ROOT.? - JVM will be halted immediately due to the failure: [failureCtx=FailureContext [type=CRITICAL_ERROR, err=java.lang.NullPointerException: Cannot invoke "o.a.i.i.processors.cache.CacheGroupDescriptor.config()" because "grpDesc" is null]]
Reproduction Steps
Start a cluster with 14 server nodes.
Try joining 4 client nodes in parallel as the cluster is coming up.

Impact
Prevents successful join of client nodes during topology changes.

Expected Behavior
Client node should be able to join and complete partition exchange without encountering NullPointerException.

@jamnaritesh
Copy link
Author

just to add more info, if i retry the node join at a later point, it works fine. Can someone please guide me towards what could be wrong here? We are starting the server nodes in parallel, and then starting some client nodes. It is a cluster backes with cassandra as backing store and auto baseline enabled.

@ptupitsyn
Copy link
Contributor

Does it happen in more recent versions (Ignite 2.17)?

@jamnaritesh
Copy link
Author

Hey @ptupitsyn thanks for your response.
I'm using an internal wrapper on top of Ignite, so did not get a chance to test it out yet with 2.17.0.
Did we fix this as a part of upgrade to 2.17.0?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants