Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-11022

DB2 sending larger message (1MB) crashes the whole server

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 14.0.0.Final
    • Fix Version/s: 17.0.0.Beta1, 17.0.0.Final
    • Component/s: JMS
    • Labels:
      None
    • Environment:

      DB2 11 (Dballocator)
      AMQP, Core sender

      Description

      default broker.xml with JDBC for DB2 (and jdbc connector provided in libs dir)

      <store>
        <database-store>
          <jdbc-connection-url>jdbc:db2://db2-111.<hostname>.redhat.com:50000/dballo:user=<user>password=<pass>;</jdbc-connection-url>
          <bindings-table-name>BINDINGS_TABLE</bindings-table-name>
          <message-table-name>MESSAGE_TABLE</message-table-name>
          <page-store-table-name>P_TABLE</page-store-table-name>
          <large-message-table-name>LARGE_MESSAGES_TABLE</large-message-table-name>
          <jdbc-driver-class-name>com.ibm.db2.jcc.DB2Driver</jdbc-driver-class-name>
        </database-store>
      </store>
      
      
      $ ll -h /tmp/bigfile1mb
      -rw-r--r--. 1 root root 1.1M Jun 19 17:44 /tmp/bigfile1m
      

      Core sender

      $ java  -jar /var/dtests/node_data/clients/acce.jar sender  --log-msgs dict --broker localhost:5672 --conn-username admin --conn-password admin --address "test_node_large_durable_msg_queue" --count 1 --msg-content-from-file /tmp/bigfile1mb --msg-durable True
      
      02:59:52,796 ERROR Failed to create session factory
      javax.jms.JMSException: Failed to create session factory
      	at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:815)
      	at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:277)
      	at com.redhat.mqe.acc.AccConnectionManager.<init>(AccConnectionManager.java:73)
      	at com.redhat.mqe.acc.AccConnectionManagerFactory.make(AccConnectionManagerFactory.java:33)
      	at com.redhat.mqe.acc.AccConnectionManagerFactory.make(AccConnectionManagerFactory.java:27)
      	at com.redhat.mqe.lib.CoreClient.createConnection(CoreClient.java:94)
      	at com.redhat.mqe.acc.AccSenderClient.startClient(AccSenderClient.java:53)
      	at com.redhat.mqe.lib.Main.main(Main.java:46)
      	at com.redhat.mqe.acc.Main.main(Main.java:85)
      	at com.redhat.mqe.acc.Main.main(Main.java:89)
      Caused by: ActiveMQConnectionTimedOutException[errorType=CONNECTION_TIMEDOUT message=AMQ119013: Timed out waiting to receive cluster topology. Group:null]
      	at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:814)
      	at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:813)
      	... 9 more
      Exception in thread "main" java.lang.NullPointerException
      	at com.redhat.mqe.lib.CoreClient.createSession(CoreClient.java:121)
      	at com.redhat.mqe.acc.AccSenderClient.startClient(AccSenderClient.java:70)
      	at com.redhat.mqe.lib.Main.main(Main.java:46)
      	at com.redhat.mqe.acc.Main.main(Main.java:85)
      	at com.redhat.mqe.acc.Main.main(Main.java:89)
      

      AMQP sender

      $ java  -jar /var/dtests/node_data/clients/aac1.jar sender  --log-msgs dict --broker localhost:5672 --conn-username admin --conn-password admin --address "test_node_large_durable_msg_queue" --count 1 --msg-content-from-file /tmp/bigfile1mb --msg-durable True
      
      02:55:31,588 ERROR Error while sending a message!
      javax.jms.JMSException: Received error from remote peer without description [condition = amqp:connection:forced]
      	at org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:164)
      	at org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:117)
      	at org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.processRemoteClose(AmqpAbstractResource.java:262)
      	at org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:971)
      	at org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:105)
      	at org.apache.qpid.jms.provider.amqp.AmqpProvider$17.run(AmqpProvider.java:854)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      	at java.lang.Thread.run(Thread.java:748)
      

      Broker log

      2018-06-22 02:59:22,766 DEBUG [io.netty.util.Recycler] -Dio.netty.recycler.ratio: 8
      2018-06-22 02:59:22,779 WARN  [io.netty.channel.DefaultChannelPipeline] An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.: io.n
      etty.handler.codec.DecoderException: java.lang.NullPointerException
              at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:459) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at org.apache.activemq.artemis.core.protocol.ProtocolHandler$ProtocolDecoder.channelRead(ProtocolHandler.java:142) [artemis-server-2.6.1.amq-720004-redhat-1.jar:2.6.1.amq-720004-redhat-1]
              at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.6.1.amq-720004-redhat-1.jar:2.6.1.amq-720004-redhat-1]
      Caused by: java.lang.NullPointerException
              at org.apache.activemq.artemis.core.protocol.ProtocolHandler$ProtocolDecoder.decode(ProtocolHandler.java:201) [artemis-server-2.6.1.amq-720004-redhat-1.jar:2.6.1.amq-720004-redhat-1]
              at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428) [netty-all-4.1.19.Final-redhat-1.jar:4.1.19.Final-redhat-1]
              ... 14 more
      
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  fnigro Francesco Nigro
                  Reporter:
                  mnovak Miroslav Novak
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - 2 days
                    2d
                    Remaining:
                    Remaining Estimate - 2 days
                    2d
                    Logged:
                    Time Spent - Not Specified
                    Not Specified