Brian D. Johnson created AMQ-6244:
-------------------------------------
Summary: ActiveMQBytesMessage fails to set 'compressed=false'
following restoration of compressed message content
Key: AMQ-6244
URL: https://issues.apache.org/jira/browse/AMQ-6244
Project: ActiveMQ
Issue Type: Bug
Components: JMS client
Affects Versions: 5.13.2
Reporter: Brian D. Johnson
{{ActiveMQBytesMessage}} does not reset its {{compressed}} flag to {{false}}
following the restoration of compressed message content in
{{restoreOldContent()}}. This becomes a problem if an {{ActiveMQBytesMessage}}
is reused by a client on an uncompressed connection after originally being
published on a compressed connection.
Steps to reproduce:
# An {{ActiveMQBytesMessage}} is published by a producer on a connection with
compression *_enabled_*
Message State: compressed=true; content=compressed
# The message is consumed by a client and republished on a connection with
compression *_disabled_*
Message State: compressed=true; content=uncompressed
# The message is consumed by a client and its contents are read. The ActiveMQ
client library tries to decompress the message content, but fails because the
content is not compressed. This causes the consumer to throw either a
{{DataFormatException}} or {{NegativeArraySizeException}}.
This JIRA is similar in nature to AMQ-5381.
I'll submit a pull request with a test to reproduce and a patch shortly.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)