[
https://issues.apache.org/jira/browse/QPID-4591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13585779#comment-13585779
]
JAkub Scholz commented on QPID-4591:
------------------------------------
ad QMF)
An QMF event informing about the overwriting isn't a bad idea. But the problem
with QMF is that it cannot be properly secured with ACL. So for some Qpid users
(in our situation a broker used to connect hundreds of customers to our
service) we cannot really provide the access to the QMF without causing
possible security issues.
ad alt exchange)
I can imagine to create a construct using an alternate exchange as described by
Ernest. But such construct will be not exactly user friendly. This will get
additionally complicated when you are working with multiple ring-type queues
receiving the same messages at the same time - some of them having the messages
overwritten and some of them not. You would need to have for each ring type
queue a separate alternate exchange with another small ring-type signal queue.
Also, it is a bit "overkill" to resend all the messages to alternate exchange
just to give a "signal" that they are being overwritten. When you create the
ring type queue, you usually expect the messages to get lost - you just want to
know when it happens.
I would maybe suggest following solutions ...
1) Assigning a new custom header to the remaining message(s) which will mark
that some messages were overwritten (i.e. something similar to the redelivered
flag).
or
2) Adding a queue level message sequencing which would work in a similar way as
the exchange level sequencing, but the sequence IDs will be assigned only to
the messages which are routed into the queue (+ the sequence will be persisted
to possibly survive the restart of the broker - unlike with the exchange level
sequencing). The sequence IDs can be used by the client to detect gaps. (this
is from my perspective the best solution)
> mechanism to detect when messages are overwritten in ring-type queues
> ---------------------------------------------------------------------
>
> Key: QPID-4591
> URL: https://issues.apache.org/jira/browse/QPID-4591
> Project: Qpid
> Issue Type: New Feature
> Components: C++ Broker
> Affects Versions: 0.18
> Reporter: Ernest Allen
> Fix For: Future
>
>
> A way to determine when a ring queue is full and old messages are being
> deleted. Also need a way to determine when the ring queue is no longer full.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]