[ 
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]

Reply via email to