-
Notifications
You must be signed in to change notification settings - Fork 39
Open
Labels
group/backendIssue related to the backend (API Server, Git Agent)Issue related to the backend (API Server, Git Agent)priority/2This issue stalls work on the project or its dependents, it's a blocker for a releaseThis issue stalls work on the project or its dependents, it's a blocker for a releasetype/bugSomething isn't working as expectedSomething isn't working as expected
Description
Component
- API Server / GraphQL
Infrahub version
1.6.1
Current Behavior
When allocating resources from a "large" IPv6 prefix pool, the server times out and a gunicorn worker dies.
Failing scenarios:
- A
/48prefix pool used to create/127prefixes → timeout + worker crash - 2x
/56prefix pools used to create/127prefixes → timeout + worker crash
Working scenarios:
- A
/64prefix pool used to create/127prefixes → works fine - 1x
/48prefix pool used to create/64prefixes → works fine
The issue appears to be related to the size of the resource pool and/or the number of potential allocations that need to be computed.
Expected Behavior
Resource allocation from large prefix pools should complete successfully without timing out or crashing the gunicorn worker, even if it takes longer to process.
Steps to Reproduce
- Create an IPv6 prefix pool with a
/48prefix as the resource - Attempt to allocate
/127prefixes from this pool - Observe timeout and gunicorn worker crash
Additional Information
- A database backup has been provided to the engineering team for reproduction
- The issue seems to scale with the potential allocation space (e.g.,
/48→/127= 2^79 possible allocations vs/64→/127= 2^63 possible allocations) - May require an investigation into how the resource pool allocation algorithm handles very large address spaces
Metadata
Metadata
Assignees
Labels
group/backendIssue related to the backend (API Server, Git Agent)Issue related to the backend (API Server, Git Agent)priority/2This issue stalls work on the project or its dependents, it's a blocker for a releaseThis issue stalls work on the project or its dependents, it's a blocker for a releasetype/bugSomething isn't working as expectedSomething isn't working as expected