Azure / azure-service-bus

☁️ Azure Service Bus service issue tracking and samples
https://azure.microsoft.com/services/service-bus
MIT License
580 stars 775 forks source link

Duplicate Inbound Messages count #682

Open jasoncresswell opened 7 months ago

jasoncresswell commented 7 months ago

Description

When I found #316 , I thought I would find the answer to my problem, but I didn't. Average works for 1 minute intervals, but if the interval is more than a minute, the number of messages is averaged across the number of minutes in the interval.

Lets say, I have 2 message queues, messages are posted to Queue (A). They are read from Queue (A), some logic is performed on the data, and some of the messages go to Queue (B). The messages that don't require further processing are effectively thrown away. They don't go to DLQ, as they are not an error. (Messages that fail to process due to some error do go to DLQ, and that works fine)

image

These are queues (not topics) and we use peek lock.

I have a dashboard showing the messages in/out, dead and throttled for each queue, but the duplication is very misleading, image

Actual Behavior

  1. Sum of Inbound messages in Queue (A) is correct when the message is not sent to Queue (B)
  2. Sum of Inbound messages duplicates the count of any message in Queue (A) that is sent to Queue (B)
  3. Sum for Outgoing messages in Queue (A) works correctly

Expected Behavior

  1. Sum of Inbound messages should show a count of 1 for each message in, no matter how we read the message or subsequently process the message.
  2. It should be possible to Sum the messages in a given interval
EldertGrootenboer commented 7 months ago

Thank you for your feedback. We have opened an investigation task for this in our backlog, and will update this issue when we have more information.

EldertGrootenboer commented 2 months ago

We have brought this item in our current planning. We don't have a specific date when development will start for this, once we have more information around this, we will update this thread.