Exception when sending big messages
-----------------------------------

                 Key: AMQ-1249
                 URL: https://issues.apache.org/activemq/browse/AMQ-1249
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 4.1.1
            Reporter: Pawel Niewiadomski


Scenario:

used queue to transfer a message of size 10MB, producer and consumer were in 
the same location, but broker was available through a WAN, so sending a message 
took some time, client crashed with exception (also added some trace):

{noformat}
14:58:00,914 DEBUG [main] org.apache.activemq.ActiveMQSession: Sending message: 
ActiveMQBytesMessage {commandId = 0, responseRequired = false, messageId = 
ID:itstl007-41444-1179835075925-1:0:1:1:1, originalDestination = null, 
originalTransactionId = null, producerId = 
ID:itstl007-41444-1179835075925-1:0:1:1, destination = queue://Huge.Remote.1, 
transactionId = null, expiration = 0, timestamp = 1179835080911, arrival = 0, 
correlationId = null, replyTo = null, persistent = true, type = null, priority 
= 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = 
false, userID = null, content = [EMAIL PROTECTED], marshalledProperties = null, 
dataStructure = null, redeliveryCounter = 0, size = 0, properties = 
{HASH=80f6524683f484f19f244fc5d290f79f5f1b48c1}, readOnlyProperties = true, 
readOnlyBody = true, droppable = false} ActiveMQBytesMessage{ bytesOut = null, 
dataOut = null, dataIn = null }
14:58:00,914 DEBUG [main] 
org.apache.activemq.transport.TransportLogger.Connection:1: SENDING: 
ActiveMQBytesMessage {commandId = 5, responseRequired = true, messageId = 
ID:itstl007-41444-1179835075925-1:0:1:1:1, originalDestination = null, 
originalTransactionId = null, producerId = 
ID:itstl007-41444-1179835075925-1:0:1:1, destination = queue://Huge.Remote.1, 
transactionId = null, expiration = 0, timestamp = 1179835080911, arrival = 0, 
correlationId = null, replyTo = null, persistent = true, type = null, priority 
= 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = 
false, userID = null, content = [EMAIL PROTECTED], marshalledProperties = null, 
dataStructure = null, redeliveryCounter = 0, size = 0, properties = 
{HASH=80f6524683f484f19f244fc5d290f79f5f1b48c1}, readOnlyProperties = true, 
readOnlyBody = true, droppable = false} ActiveMQBytesMessage{ bytesOut = null, 
dataOut = null, dataIn = null }
14:58:26,716 DEBUG [ActiveMQ Transport: 
tcp://gkscoc01.igk.intel.com/172.28.168.10:61616] 
org.apache.activemq.transport.TransportLogger.Connection:1: RECEIVED: 
KeepAliveInfo {}
14:58:41,699 DEBUG [ActiveMQ Transport: 
tcp://gkscoc01.igk.intel.com/172.28.168.10:61616] 
org.apache.activemq.transport.TransportLogger.Connection:1: RECEIVED: 
KeepAliveInfo {}
14:58:56,701 DEBUG [ActiveMQ Transport: 
tcp://gkscoc01.igk.intel.com/172.28.168.10:61616] 
org.apache.activemq.transport.TransportLogger.Connection:1: RECEIVED: 
KeepAliveInfo {}
14:58:56,707 DEBUG [ActiveMQ Transport: 
tcp://gkscoc01.igk.intel.com/172.28.168.10:61616] 
org.apache.activemq.transport.TransportLogger.Connection:1: RECEIVED Exception: 
java.io.EOFException
java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:397)
        at 
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
        at 
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
        at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
        at java.lang.Thread.run(Thread.java:536)
14:58:56,709 DEBUG [main] 
org.apache.activemq.transport.TransportLogger.Connection:1: SENDING: RemoveInfo 
{commandId = 6, responseRequired = false, objectId = 
ID:itstl007-41444-1179835075925-1:0:1:1}
14:58:56,711 DEBUG [main] 
org.apache.activemq.transport.TransportLogger.Connection:1: SENDING: RemoveInfo 
{commandId = 7, responseRequired = false, objectId = 
ID:itstl007-41444-1179835075925-1:0:1}
14:58:56,711 DEBUG [main] 
org.apache.activemq.transport.TransportLogger.Connection:1: SENDING: RemoveInfo 
{commandId = 8, responseRequired = true, objectId = 
ID:itstl007-41444-1179835075925-1:0}
Exception in thread "main" javax.jms.JMSException: The transport is not running.
        at 
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:58)
        at 
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1213)
        at 
org.apache.activemq.ActiveMQConnection.close(ActiveMQConnection.java:579)
        at 
com.intel.ingrid.test.stress.jms.HugeMessageProducer.main(HugeMessageProducer.java:93)
Caused by: java.io.IOException: The transport is not running.
        at 
org.apache.activemq.transport.TransportSupport.checkStarted(TransportSupport.java:103)
        at 
org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:117)
        at 
org.apache.activemq.transport.TransportLogger.oneway(TransportLogger.java:71)
        at 
org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:141)
        at 
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:80)
        at 
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:93)
        at 
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:47)
        at 
org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
        at 
org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:79)
        at 
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1203)
        ... 2 more
{noformat}

After I changed *wireFormat.maxInactivityDuration* to 0 it succeeded and sent 
the message.

It's strange for me because in the first case (when 
*wireFormat.maxInactivityDuration* is not set, so default value is used) 
*there's an activity occuring* - the client sends a lot of data so server 
should not treat it as a hanging client and *the server should not close the 
connection*.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to