> [0x5135b70]: AMQP:FRAME:0 -> @disposition(21) [role=true, first=0x0,
settled=true]
The disposition appears to not be sending the ACCEPTED outcome as Robbie
mentioned which leads the broker to return the message to the queue
since the remote didn't actually accept the delivery. From all
appearances the broker is operating as expected. I would give the same
advice as Robbie that you should look into moving on from Messenger as
it is not under any active development and is unlikely to get updates to
resolve this.
On 7/18/25 08:49, Michael Ivanov wrote:
Hallo,
My address is:
Address [name=main, routingTypes={ANYCAST}, autoCreated=true]
I'm running the following after each message received:
pn_messenger_accept(_messenger, tracker, PN_CUMULATIVE);
pn_messenger_settle(_messenger, tracker, PN_CUMULATIVE);
Trace shows the following:
. . . . . . . . .
[0x5149080]: AMQP:FRAME:1 -> @transfer(20) [handle=0x0,
delivery-id=0x3, delivery-tag=b"\x03\x00\x00\x00\x00\x00\x00\x00",
message-format=0x0, settled=true] (497)
\x00Sp\xc0\x04\x02@P\x00\x00Ss\xc0b\x0a@@\xa1Damqp://localhost:5672/main.tmp::4f5eaa26-bf02-4624-962d-b1315bd00022@@\xa1\x09EVTST5019@@@\x83\x00\x00\x01\x98\x1c\x06\xf1\x0e\x00St\xd1\x00\x00\x00\x22\x00\x00\x00\x06\xa1\x05fcodeT\x01\xa1\x05seqnoq\x00\x00\x02\xe9\xa1\x05stateT\x00\x00Sw\xd1\x00\x00\x01O\x00\x00\x00\x0e\xa1\x06serialT\x04\xa1\x05image\xa0\x0fTEST
IMAGE
DATA\xa1\x04hash\xd1\x00\x00\x00\xbc\x00\x00\x00\x18T\x01\xa1\x0c\xd0\xaf\xd0\xbd\xd0\xb2\xd0\xb0\xd1\x80\xd1\x8cT\x02\xa1\x0e\xd0\xa4\xd0\xb5\xd0\xb2\xd1\x80\xd0\xb0\xd0\xbb\xd1\x8cT\x03\xa1\x08\xd0\x9c\xd0\xb0\xd1\x80\xd1\x82T\x04\xa1\x0c\xd0\x90\xd0\xbf\xd1\x80\xd0\xb5\xd0\xbb\xd1\x8cT\x05\xa1\x06\xd0\x9c\xd0\xb0\xd0\xb9T\x06\xa1\x08\xd0\x98\xd1\x8e\xd0\xbd\xd1\x8cT\x07\xa1\x08\xd0\x98\xd1\x8e\xd0\xbb\xd1\x8cT\x08\xa1\x0c\xd0\x90\xd0\xb2\xd0\xb3\xd1\x83\xd1\x81\xd1\x82T\x09\xa1\x10\xd0\xa1\
... (truncated)
[0x5135b70]: AMQP:FRAME:0 -> @disposition(21) [role=true, first=0x0,
settled=true]
[0x5135b70]: AMQP:FRAME:0 -> @disposition(21) [role=true, first=0x1,
settled=true]
[0x5135b70]: AMQP:FRAME:0 -> @disposition(21) [role=true, first=0x2,
settled=true]
[0x5135b70]: AMQP:FRAME:0 -> @disposition(21) [role=true, first=0x3,
settled=true]
I.e. I should assume all 4 incoming messages are accepted and settled?
But they still remain in queue:
amqp:/var/lib/artemis-instance$ artemis queue stat --queueName=TEST
Connection brokerURL = tcp://localhost:61616
|NAME|ADDRESS|CONSUMER|MESSAGE|MESSAGES|DELIVERING|MESSAGES|SCHEDULED|ROUTING|INTERNAL|
| | | COUNT | COUNT | ADDED | COUNT | ACKED | COUNT |
TYPE | |
|TEST|main | 0 | 4 | 4 | 0 | 0 | 0
|ANYCAST| false |
On 18.07.2025 14:33, Robbie Gemmell wrote:
In terms of potential sources of problems with using Messenger, there
are many.
I seem to recall Messenger for a long time (or possibly still, I
forget) settling messages without actually setting any delivery state,
i.e the bit that indicates the message was accepted (/other). I
believe in that case Artemis will not consider it accepted, whereas
possibly qpidd did (I dont know/recall). You could run the application
with PN_TRACE_FRM=1 env variable set to see the protocol trace and
confirm whether that is the case.
Another potential source of issue could be its particular 'window'
handling behaviour, e.g see some discussion on that in this not too
dissimilar thread from a few years ago on the Qpid users list:
https://lists.apache.org/thread/95b1gycw8n3h3yc6wcb3h1lgv6ovzfry
As that thread also talks to, regardless of the issue I'd really
suggest you consider migrating off messenger in your application code,
especially if you are already looking at migrating your broker.
Messenger has not been actively developed in over a decade, and was
being supplanted (but not necessarily directly replaced, especially if
this is pure C you are using) by newer APIs before then too due to its
many specific nuances and limitations; you won't really find anyone
willing or able to give it attention these days.
Robbie
On Fri, 18 Jul 2025 at 09:24, Michael Ivanov
<deruh...@mail.ru.invalid> wrote:
Greetings!
I am reading AMQP messages to artemis broker from ANYCAST queue, but
they are not deleted
and received again, when receiver program is restarted. The messages
are read with old program,
which uses proton messenger.
After each message is handled, it is acknowledged using:
pn_messenger_accept(_messenger, tracker, PN_CUMULATIVE) call.
This program works properly with qpidd broker. What do I miss with
artemis?
--
Best regards,
Michael.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@activemq.apache.org
For additional commands, e-mail: users-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@activemq.apache.org
For additional commands, e-mail: users-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact
--
Tim Bish
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@activemq.apache.org
For additional commands, e-mail: users-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact