org.jgroups.protocols.UNICAST3 got NullPointerException at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher$FutureCollator.futureDone() during JDG rebalancing

Solution Unverified - Updated -

Issue

org.jgroups.protocols.UNICAST3 got the following NullPointerException without stack trace during JDG rebalancing:

ERROR [org.jgroups.protocols.UNICAST3] (OOB-140,shared=udp) JGRP000039: node1/clustered: failed to deliver OOB message [dst: node2/clustered, src: node1/clustered (3 headers), size=28 bytes, flags=OOB|DONT_BUNDLE|NO_TOTAL_ORDER]: java.lang.NullPointerException

After adding debug message to show stack trace in jgroups, the NullPointerException happened in org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher$FutureCollator.futureDone():

java.lang.NullPointerException
    at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher$FutureCollator.futureDone(CommandAwareRpcDispatcher.java:636) [infinispan-core-6.4.0.Final-redhat-4.jar:6.4.0.Final-redhat-4] 
    at org.jgroups.blocks.Request.checkCompletion(Request.java:169) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.blocks.UnicastRequest.receiveResponse(UnicastRequest.java:83) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:398) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:250) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:675) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.blocks.mux.MuxUpHandler.up(MuxUpHandler.java:130) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.JChannel.up(JChannel.java:739) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1029) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.FRAG2.up(FRAG2.java:165) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.FlowControl.up(FlowControl.java:394) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.FlowControl.up(FlowControl.java:383) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.pbcast.GMS.up(GMS.java:1045) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:234) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1064) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:779) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:426) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:652) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:155) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.stack.Protocol.up(Protocol.java:374) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:200) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:299) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.MERGE3.up(MERGE3.java:286) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.Discovery.up(Discovery.java:291) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.TP$ProtocolAdapter.up(TP.java:2842) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.TP.passMessageUp(TP.java:1577) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at org.jgroups.protocols.TP$MyHandler.run(TP.java:1796) [jgroups-3.6.3.Final-debug.jar:3.6.3.Final-redhat-2]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_45]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_45]

What causes this NullPointerException? Is this harmful or harless?

Environment

  • Red Hat JBoss Data Grid (JDG)
    • 6.6

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In