Description
The journal loading is seeing AMQP messages to be fully decoded while they shouldn't not; it seems causes by AMQPStandardMessage:: reloadPersistence:
@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(); } }
Specifically by:
if (!isDurable()) { setDurable(true); reencode(); }
This code path shouldn't really be taken so need some investigation to understand what's going on.
Attachments
Issue Links
- is caused by
-
ARTEMIS-1975 Real LargeMessage support for AMQP
- Closed
- is related to
-
ARTEMIS-2617 Improve AMQP Journal loading
- Closed
- relates to
-
ARTEMIS-2669 ARTEMIS-2669 not durable AMQP messages cannot became durable on depaging
- Closed
- links to