You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2008/09/08 16:55:56 UTC

[jira] Updated: (AMQ-1249) Exception when sending big messages

     [ https://issues.apache.org/activemq/browse/AMQ-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully updated AMQ-1249:
----------------------------

    Fix Version/s: 5.3.0
                       (was: 5.2.0)

> 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
>             Fix For: 5.3.0
>
>
> 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 = org.apache.activemq.util.ByteSequence@7808b9, 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 = org.apache.activemq.util.ByteSequence@7808b9, 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.