9 Replies Latest reply on Jan 8, 2020 4:46 AM by Randy Stafford-Oracle

    NullPointerException prevents Cache Server from starting up

    Chris San Buenaventura

      FYI, there is a bug in PartitionedCacheQuorumPolicy which prevents a cache server from starting-up. See below snippet which throws the NPE, we've fixed this in our system by adding a null check against sAddress. But letting you know in case anybody else encounters this issue.

       

       

       

       

      2019-11-10T00:00:07,232 ERROR [Logger@9233868 12.2.1.4.0][Coherence] (thread=DistributedCache, member=2) Terminating PartitionedCache due to unhandled exception: java.lang.NullPointerException

      2019-11-10T00:00:07,233 WARN  [Logger@9233868 12.2.1.4.0][Coherence] (thread=DistributedCache, member=2) java.lang.NullPointerException

              at java.lang.String.contains(String.java:2121)

              at com.tangosol.net.ConfigurableQuorumPolicy$PartitionedCacheQuorumPolicy.reportLastOwnership(ConfigurableQuorumPolicy.java:808)

              at com.tangosol.net.ConfigurableQuorumPolicy$PartitionedCacheQuorumPolicy.checkRecoveryMembership(ConfigurableQuorumPolicy.java:644)

              at com.tangosol.net.ConfigurableQuorumPolicy$PartitionedCacheQuorumPolicy.isAllowed(ConfigurableQuorumPolicy.java:926)

              at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.isRecoverPartitionsAllowed(PartitionedService.CDB:13)

              at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onOwnershipRequestCompleted(PartitionedService.CDB:79)

              at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService$OwnershipRequest$Poll.onCompletion(PartitionedService.CDB:41)

              at com.tangosol.coherence.component.net.Poll.close(Poll.CDB:11)

              at com.tangosol.coherence.component.net.Poll.onResponded(Poll.CDB:43)

              at com.tangosol.coherence.component.net.Poll.onResponse(Poll.CDB:3)

              at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService$OwnershipRequest$Poll.onResponse(PartitionedService.CDB:70)

              at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:53)

              at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:23)

              at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onNotify(PartitionedService.CDB:3)

              at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onNotify(PartitionedCache.CDB:3)

              at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:54)

              at java.lang.Thread.run(Thread.java:745)