1 Reply Latest reply: Jul 14, 2010 10:06 AM by Bob Hanckel RSS

    NPE when using message pattern

    user639604
      We are using message pattern 2.4 and Coherence 3.5.3 patch 1.

      Our application which is a consumer in the message pattern suddently not receiving any message at all. The producer side still able to insert message, however,
      we got OOM eventually since no consumers were receiving message at all.

      The only thing we found abnormal is tons of exception occued in one of the stroage node. Beware that a new storage node happened to join the cluster
      at almost exactly the same time when the first exception occured.

      This issue caused serious problem since it lead to OOM in cluster eventually. Really appreciated if anyone has any suggest/comment.

      Really appreciated,

      Chen

      *************************************************************************************************************************

      2010-07-08 02:43:05,512|INFO|Coherence|2010-07-08 02:43:05.511/18900.898 Oracle Coherence EE 3.5.3/465p1 <Info> (thread=CommandExecutor:Thread-5, member=21): java.lang.NullPointerException
           at com.oracle.coherence.patterns.messaging.Queue.rollbackMessages(Queue.java:305)
           at com.oracle.coherence.patterns.messaging.Queue.unsubscribe(Queue.java:330)
           at com.oracle.coherence.patterns.messaging.commands.UnsubscribeCommand.execute(UnsubscribeCommand.java:91)
           at com.oracle.coherence.patterns.command.internal.CommandExecutor.execute(CommandExecutor.java:856)
           at com.oracle.coherence.patterns.command.internal.CommandExecutor$3.run(CommandExecutor.java:927)
           at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
           at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
           at java.util.concurrent.FutureTask.run(Unknown Source)
           at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
           at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
           at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
           at java.lang.Thread.run(Unknown Source)

      2010-07-08 02:43:09,202|ERROR|Coherence|2010-07-08 02:43:09.201/18904.588 Oracle Coherence EE 3.5.3/465p1 <Error> (thread=CommandExecutor:Thread-2, member=21): Failed to execute CommandExecutionRequest.Key{contextIdentifier=Identifier{jmx-historical-queue}, ticket=Ticket{9.32901}, managementStrategy=DISTRIBUTED} with CommandExecutor Identifier{jmx-historical-queue}
      2010-07-08 02:43:09,203|INFO|Coherence|2010-07-08 02:43:09.202/18904.589 Oracle Coherence EE 3.5.3/465p1 <Info> (thread=CommandExecutor:Thread-2, member=21): java.lang.NullPointerException
           at com.oracle.coherence.patterns.messaging.Queue.hasMessagesToRedeliver(Queue.java:113)
           at com.oracle.coherence.patterns.messaging.Queue.publishMessage(Queue.java:172)
           at com.oracle.coherence.patterns.messaging.commands.PublishMessageCommand.execute(PublishMessageCommand.java:79)
           at com.oracle.coherence.patterns.command.internal.CommandExecutor.execute(CommandExecutor.java:856)
           at com.oracle.coherence.patterns.command.internal.CommandExecutor$2.run(CommandExecutor.java:720)
           at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
           at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
           at java.util.concurrent.FutureTask.run(Unknown Source)
           at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
           at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
           at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
           at java.lang.Thread.run(Unknown Source)

      2010-07-08 02:43:09,232|ERROR|Coherence|2010-07-08 02:43:09.231/18904.618 Oracle Coherence EE 3.5.3/465p1 <Error> (thread=CommandExecutor:Thread-2, member=21): Failed to execute CommandExecutionRequest.Key{contextIdentifier=Identifier{jmx-historical-queue}, ticket=Ticket{9.32902}, managementStrategy=DISTRIBUTED} with CommandExecutor Identifier{jmx-historical-queue}
      2010-07-08 02:43:09,233|INFO|Coherence|2010-07-08 02:43:09.232/18904.619 Oracle Coherence EE 3.5.3/465p1 <Info> (thread=CommandExecutor:Thread-2, member=21): java.lang.NullPointerException
           at com.oracle.coherence.patterns.messaging.Queue.hasMessagesToRedeliver(Queue.java:113)
           at com.oracle.coherence.patterns.messaging.Queue.redeliverMessages(Queue.java:273)
           at com.oracle.coherence.patterns.messaging.Queue.requestMessage(Queue.java:242)
           at com.oracle.coherence.patterns.messaging.commands.RequestMessageCommand.execute(RequestMessageCommand.java:87)
           at com.oracle.coherence.patterns.command.internal.CommandExecutor.execute(CommandExecutor.java:856)
           at com.oracle.coherence.patterns.command.internal.CommandExecutor$3.run(CommandExecutor.java:927)
           at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
           at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
           at java.util.concurrent.FutureTask.run(Unknown Source)
           at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
           at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
           at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
           at java.lang.Thread.run(Unknown Source)
        • 1. Re: NPE when using message pattern
          Bob Hanckel
          Messaging 2.4 is very old. You might be running into a bug having to do with state management of Message Pattern internals that has been fixed in later versions. Our recommendation is that you upgrade to the latest drop of Coherence Incubator which has more robust logic.

          Edited by: rhanckel on Jul 14, 2010 8:05 AM