Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Excessive queries to fetch new messages when no messages are available to be processed #1293

Closed
DavidBoike opened this issue Feb 16, 2024 · 1 comment
Labels

Comments

@DavidBoike
Copy link
Member

DavidBoike commented Feb 16, 2024

Symptoms

An excessive amount of queries can occur when an endpoint is scaled out.

Who's affected

You are affected if you have SQL Transport endpoints scaled out to multiple instances. The problem is exacerbated when the database has snapshot isolation enabled, which is the default in SQL Azure instances.

Root cause

The SQL Transport uses a peek query to get an idea for how many messages are available to be processed, which is more complex when multiple endpoint instances are competing to process the same message. The previous peek query would read uncommitted data and continuously fire queries to fetch new messages but not receive any new data because the data was not yet committed.

Fixes

See also

@DavidBoike DavidBoike added the Bug label Feb 16, 2024
@DavidBoike DavidBoike changed the title Queue peek reports messages available that are being processed by other instances Excessive queries to fetch new messages when no messages are available to be processed Feb 16, 2024
@DavidBoike
Copy link
Member Author

Released in 7.0.5 and 6.3.7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant