Skip to content

Add pool_timeout and fix buggy connection pool locking #102

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

Open
wants to merge 1 commit into
base: trunk
Choose a base branch
from

Conversation

el1s7
Copy link

@el1s7 el1s7 commented Aug 1, 2025

Fixes a bug where the previous locking strategy caused a bottleneck and could block all threads even when connections were available.

  • Added pool_timeout to MySQLConnectionPool for controlled blocking when the pool is exhausted.
  • Updated get_connection() to use queue.get(block=True, timeout=pool_timeout).
  • Fixed lock scope to avoid blocking all threads when get_connection is called.

Fixes a bug where the previous locking strategy caused unnecessary contention and could block all threads even when connections were available.
@mysql-oca-bot
Copy link

Hi, thank you for submitting this pull request. In order to consider your code we need you to sign the Oracle Contribution Agreement (OCA). Please review the details and follow the instructions at https://oca.opensource.oracle.com/
Please make sure to include your MySQL bug system user (email) in the returned form.
Thanks

@el1s7
Copy link
Author

el1s7 commented Aug 1, 2025

I have signed the OCA.

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
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy