Details
-
Bug
-
Resolution: Done
-
Critical
-
13.0.0.Final
-
None
Description
Scenario
- There are two WildFly (Artemis) servers in dedicated shared store HA topology
- Connection factory is configured to compress large messages
- Live server is killed
- Clients do failover to backup
After the clients do failover to backup, I can see following exceptions in the log when a receiver tries to clear body of large message. The test fails because of lost messages.
I can see this issue with Artemis 1.5.5.jbossorg-012.
I am not able to reproduce it locally but I hit it on Jenkins every time.
javax.jms.JMSException: AMQ119029: Error writing body of message at org.apache.activemq.artemis.jms.client.ActiveMQBytesMessage.clearBody(ActiveMQBytesMessage.java:337) at org.jboss.qa.hornetq.apps.clients.Client.cleanMessage(Client.java:144) at org.jboss.qa.hornetq.apps.clients.Receiver11.receiveMessage(Receiver11.java:153) at org.jboss.qa.hornetq.apps.clients.ReceiverTransAck.run(ReceiverTransAck.java:89) Caused by: java.lang.RuntimeException: AMQ119029: Error writing body of message at org.apache.activemq.artemis.core.client.impl.ClientLargeMessageImpl.getBodyBuffer(ClientLargeMessageImpl.java:93) at org.apache.activemq.artemis.jms.client.ActiveMQBytesMessage.getBuffer(ActiveMQBytesMessage.java:363) at org.apache.activemq.artemis.jms.client.ActiveMQBytesMessage.clearBody(ActiveMQBytesMessage.java:335) ... 3 more Caused by: ActiveMQLargeMessageException[errorType=LARGE_MESSAGE_ERROR_BODY message=AMQ119029: Error writing body of message] at org.apache.activemq.artemis.core.client.impl.LargeMessageControllerImpl.sendPacketToOutput(LargeMessageControllerImpl.java:1077) at org.apache.activemq.artemis.core.client.impl.LargeMessageControllerImpl.setOutputStream(LargeMessageControllerImpl.java:258) at org.apache.activemq.artemis.core.client.impl.CompressedLargeMessageControllerImpl.setOutputStream(CompressedLargeMessageControllerImpl.java:75) at org.apache.activemq.artemis.core.client.impl.CompressedLargeMessageControllerImpl.saveBuffer(CompressedLargeMessageControllerImpl.java:80) at org.apache.activemq.artemis.core.client.impl.ClientLargeMessageImpl.checkBuffer(ClientLargeMessageImpl.java:159) at org.apache.activemq.artemis.core.client.impl.ClientLargeMessageImpl.getBodyBuffer(ClientLargeMessageImpl.java:91) ... 5 more Caused by: java.io.IOException: incorrect data check at org.apache.activemq.artemis.utils.InflaterWriter.close(InflaterWriter.java:81) at org.apache.activemq.artemis.core.client.impl.LargeMessageControllerImpl.sendPacketToOutput(LargeMessageControllerImpl.java:1074) ... 10 more Caused by: java.util.zip.DataFormatException: incorrect data check at java.util.zip.Inflater.inflateBytes(Native Method) at java.util.zip.Inflater.inflate(Inflater.java:259) at java.util.zip.Inflater.inflate(Inflater.java:280) at org.apache.activemq.artemis.utils.InflaterWriter.close(InflaterWriter.java:77) ... 11 more