Francesco Nigro created ARTEMIS-2661:
----------------------------------------
Summary: AMQP Journal loading is triggering reencode
Key: ARTEMIS-2661
URL: https://issues.apache.org/jira/browse/ARTEMIS-2661
Project: ActiveMQ Artemis
Issue Type: Bug
Components: Broker
Affects Versions: 2.12.0
Reporter: Francesco Nigro
The journal loading is seeing AMQP messages to be decoded while they shouldn't
not; it seems causes by AMQPStandardMessage:: reloadPersistence:
{code:java}
@Override
public void reloadPersistence(ActiveMQBuffer record, CoreMessageObjectPools
pools) {
int size = record.readInt();
byte[] recordArray = new byte[size];
record.readBytes(recordArray);
data = ReadableBuffer.ByteBufferReader.wrap(ByteBuffer.wrap(recordArray));
// Message state is now that the underlying buffer is loaded, but the
contents not yet scanned
resetMessageData();
modified = false;
messageDataScanned = RELOAD_PERSISTENCE;
// can happen when moved to a durable location. We must re-encode here to
// avoid a subsequent redelivery from suddenly appearing with a durable
header
// tag when the initial delivery did not.
if (!isDurable()) {
setDurable(true);
reencode();
}
}
{code}
Specifically by:
{code:java}
if (!isDurable()) {
setDurable(true);
reencode();
}
{code}
This code path shouldn't really be taken so need some investigation to
understand what's going on.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)