Hi - we are able to observe message loss when disrupting the connection under
a multithreaded async-message producing client connected with the failover
transport - our connection url is:

failover:(tcp://localhost:56789)?jms.useAsyncSend=true&trackMessages=true

(56789 is forwarded to the ActiveMQ server port - the connection is
disrupted by destroying/renewing this forward).

I notice @ http://activemq.apache.org/failover-transport-reference.html that
the default maxCacheSize is 131072 which matches our host's TcpWriteBuffer.
Testing suggests that the message loss can be prevented by increasing the
maxCacheSize parameter, but I am yet to robustly prove this.

In separate testing (without message tracking enabled) i've been able to
exceed the expected amount of loss as calculated by (TcpWriteBuffer /
MessageSize) - we believe this is due to message compression, as the number
of losses appear to be influenced by varying the amount of randomness in the
message data.

My working theory is that the message cache is operating on messages in
their uncompressed form & message loss is therefore occurring as the
TcpWriteBuffer contains more than this number.

Is anyone able to verify this theory? - Thanks!
-- 
View this message in context: 
http://activemq.2283324.n4.nabble.com/ActiveMQ-sending-async-persistent-messages-what-is-the-maximum-that-can-be-lost-tp2537793p2544157.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to