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.