Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-8488

Need to handle dispatched events returned null in queue destroyed case

    XMLWordPrintableJSON

Details

    Description

      The following NPE could be hit if queue is destroyed.

      QueueSynchronizationProcessor$QueueSynchronizationMessage@73d5d27 processorId=167 sender=172.17.0.19(182)<v40>:41003
      org.apache.geode.ToDataException: toData failed on dsfid=-17 msg:null
      at org.apache.geode.internal.InternalDataSerializer.writeDSFID(InternalDataSerializer.java:1509)
      at org.apache.geode.internal.tcp.MsgStreamer.writeMessage(MsgStreamer.java:247)
      at org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:306)
      at org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182)
      at org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:511)
      at org.apache.geode.distributed.internal.DistributionImpl.directChannelSend(DistributionImpl.java:346)
      at org.apache.geode.distributed.internal.DistributionImpl.send(DistributionImpl.java:291)
      at org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2053)
      at org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1981)
      at org.apache.geode.distributed.internal.ClusterDistributionManager.sendMessage(ClusterDistributionManager.java:2018)
      at org.apache.geode.distributed.internal.ClusterDistributionManager.putOutgoing(ClusterDistributionManager.java:1083)
      at org.apache.geode.internal.cache.ha.QueueSynchronizationProcessor$QueueSynchronizationMessage.process(QueueSynchronizationProcessor.java:140)
      at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376)
      at org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:441)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      at org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:442)
      at org.apache.geode.distributed.internal.ClusterOperationExecutors.doProcessingThread(ClusterOperationExecutors.java:389)
      at org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:119)
      at java.base/java.lang.Thread.run(Thread.java:834)
      Caused by: java.lang.NullPointerException
      at org.apache.geode.internal.cache.ha.QueueSynchronizationProcessor$QueueSynchronizationReplyMessage.toData(QueueSynchronizationProcessor.java:231)
      at org.apache.geode.internal.serialization.internal.DSFIDSerializerImpl.invokeToData(DSFIDSerializerImpl.java:213)
      at org.apache.geode.internal.serialization.internal.DSFIDSerializerImpl.write(DSFIDSerializerImpl.java:137)
      at org.apache.geode.internal.InternalDataSerializer.writeDSFID(InternalDataSerializer.java:1484)
      ... 19 more

      Attachments

        Issue Links

          Activity

            People

              eshu Eric Shu
              eshu Eric Shu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: