Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-1721

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • None
    • AMQ 7.2.0.GA
    • jdbc
    • None
    • AMQ Broker 1836

      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
      
      

              fnigro Francesco Nigro
              mtoth@redhat.com Michal Toth
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Estimated:
                  Original Estimate - 2 days Original Estimate - 2 days
                  2d
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 4 days
                  4d