Skip to content

Usage report calculates negative endpoint throughput after queue table deletion#5516

Merged
jasontaylordev merged 1 commit into
masterfrom
fix/postgresql-throughput
Jun 10, 2026
Merged

Usage report calculates negative endpoint throughput after queue table deletion#5516
jasontaylordev merged 1 commit into
masterfrom
fix/postgresql-throughput

Conversation

@jasontaylordev

Copy link
Copy Markdown
Contributor

Symptoms

Usage reports can contain negative throughput values for an endpoint/queue.

This can happen when a queue table is deleted between throughput snapshots.

Who's affected

Users generating usage reports where queue tables may have been deleted during the reporting period.

Root cause

Throughput is calculated by comparing two snapshots taken an hour apart.

When a queue table is deleted, the end-of-hour total is not set and defaults to 0, causing the calculation to produce a negative throughput value.

Confirmed workarounds

None

Original bug report While calculating throughput, when a queue table is deleted, we see a negative throughput entry recorded in the usage report for the day.

This happens because we take two snapshots, an hour apart, and then use this to figure out how many messages have been processed:

totalThroughputForHour = totalMessagesEndOfHour - totalMessagesStartOfHour

When a table gets deleted, the sequence no longer exists and querying it throws a PostgreSQL 42P01 exception. This exception is caught and the end-of-hour total is left unset, defaulting to 0. This ends up looking like this:

totalThroughputForHour = 0 - totalMessagesStartOfHour

That is always going to be a negative number, and one that is not representative of the throughput in that hour.

@jasontaylordev jasontaylordev added this to the vNext milestone Jun 10, 2026
@jasontaylordev jasontaylordev merged commit fffff81 into master Jun 10, 2026
92 of 95 checks passed
@jasontaylordev jasontaylordev deleted the fix/postgresql-throughput branch June 10, 2026 04:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants