Skip to content

[19.0][FIX] fastapi: pool apps by endpoint root path, not request path - #677

Open
SparkDrago05 wants to merge 1 commit into
OCA:19.0from
SparkDrago05:19.0-fix-fastapi-app-pool-root-path
Open

SparkDrago05 wants to merge 1 commit into
OCA:19.0from
SparkDrago05:19.0-fix-fastapi-app-pool-root-path

Conversation

@SparkDrago05

Copy link
Copy Markdown

Forward port of #670 (approved on 18.0). Fixes #656.

The app pool was keyed on the full request path, so every distinct URL built and kept its own FastAPI app. It is now keyed on the endpoint's root path.

Tested on 19.0 with the steps from the issue (53 requests): 51 apps kept before, 1 after. A new test covers it, and the fastapi tests pass (25/25).

Assisted-by: Claude Opus 5.5

FastApiDispatcher passed the full request path as the key of the app
pool. Every distinct path under an endpoint, including unknown paths
and path parameters, built and kept its own FastAPI application until
the registry cache was invalidated, so worker memory grew with the
number of distinct paths requested, even unauthenticated ones.

Resolve the endpoint's root path once per request and use it as the
pool key and for the uid lookup.

Fixes OCA#656

Assisted-by: Claude Opus 5.5
Signed-off-by: SparkDrago05 <huzaifa.farooq05@gmail.com>
@OCA-git-bot

Copy link
Copy Markdown
Contributor

Hi @lmignon,
some modules you are maintaining are being modified, check this out!

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.

[19.0][fastapi] App pool is keyed on the request path, so every distinct path builds and keeps a new FastAPI app

2 participants