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

Use WeakValueDictionary for webhook locks. #570

Merged
merged 2 commits into from
Dec 15, 2021
Merged

Use WeakValueDictionary for webhook locks. #570

merged 2 commits into from
Dec 15, 2021

Conversation

izxxr
Copy link
Contributor

@izxxr izxxr commented Dec 15, 2021

Summary

Fixes #420.

Webhook adapters used simple dict to store locks for ratelimit handling. This caused memory spikes for bots using interactions since they are mostly webhooks based. The size of dict kept growing. This PR fixes this issue by using WeakValueDictionary for storing locks.

Checklist

  • If code changes were made then they have been tested.
    • I have updated the documentation to reflect the changes.
  • If type: ignore comments were used, a comment is also left explaining why
  • This PR fixes an issue.
  • This PR adds something new (e.g. new method or parameters).
  • This PR is a breaking change (e.g. methods or parameters removed/renamed)
  • This PR is not a code change (e.g. documentation, README, typehinting, examples, ...)

@VincentRPS
Copy link
Member

VincentRPS commented Dec 15, 2021

🗿 no checklist or summary smh

@izxxr
Copy link
Contributor Author

izxxr commented Dec 15, 2021

moyai no checklist or summary smh

I was in process of writing it, accidentally clicked create pr first. 😁

@Lulalaby Lulalaby enabled auto-merge (squash) December 15, 2021 11:04
Copy link
Member

@VincentRPS VincentRPS left a comment

Choose a reason for hiding this comment

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

first

@izxxr izxxr changed the title Fix memory issues with webhooks. Use WeakValueDictionary for webhook locks. Dec 15, 2021
@izxxr izxxr added bug Something isn't working priority: high High Priority status: awaiting review Awaiting review from a maintainer labels Dec 15, 2021
@AlexFlipnote
Copy link

@Lulalaby Lulalaby merged commit faeaa15 into Pycord-Development:master Dec 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working priority: high High Priority status: awaiting review Awaiting review from a maintainer
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Random RAM spikes, repetetive
5 participants