Skip to content

GitHub Issue 1424: Prevent resource exhaustion from AnalyzeQueriesAction - #7920

Merged
labkey-jeckels merged 2 commits into
release26.7-SNAPSHOTfrom
26.7_fb_1424_crossFolderDependencies
Aug 10, 2026
Merged

GitHub Issue 1424: Prevent resource exhaustion from AnalyzeQueriesAction#7920
labkey-jeckels merged 2 commits into
release26.7-SNAPSHOTfrom
26.7_fb_1424_crossFolderDependencies

Conversation

@labkey-jeckels

Copy link
Copy Markdown
Contributor

Rationale

Cross Folder Dependencies in the schema browser is an easy way to DOS when using HTTP2, which essentially fires requests for every subfolder concurrently. We need to throttle this and can also improve the UX significantly.

Changes

  • Limit the client side to 4 concurrent analysis requests
  • New ConcurrencyLimit annotation to limit the number of concurrent requests on the server-side
  • Cap AnalyzeQueriesAction to 10 concurrent requests
  • Filter domains before creating the DomainImpl
  • Default to project-scoped analysis
  • Show number of folders to be analyzed
  • Give a cancel option
  • Show all errors during analysis
  • Always show the Dependency Report, even when there are no dependencies to show
  • Show the scope that was analyzed in the Dependency Report

@labkey-jeckels labkey-jeckels added this to the 26.07 milestone Aug 9, 2026
@labkey-jeckels labkey-jeckels self-assigned this Aug 9, 2026

@labkey-klum labkey-klum left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall seems like a good improvement. I did pull down the changes and did some manual testing, error validation.

@labkey-jeckels
labkey-jeckels merged commit 8f4b22c into release26.7-SNAPSHOT Aug 10, 2026
9 of 10 checks passed
@labkey-jeckels
labkey-jeckels deleted the 26.7_fb_1424_crossFolderDependencies branch August 10, 2026 23:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants