activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Yaussy (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-1249) Exception when sending big messages
Date Wed, 23 May 2007 16:03:34 GMT

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

Kevin Yaussy commented on AMQ-1249:
-----------------------------------

I think it is likely that you can't really detect this - the code is blocked on the socket.write.
 I don't think that can be distinguished from the socket being in a hung
state, or the target broker being hung.  You might have to bump up the maxInactivity value
to a higher value than the default to allow for large messages 
and your WAN.

> 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 = 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.


Mime
View raw message