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

Allow to prepare the pool #3072

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

Conversation

goetas
Copy link

@goetas goetas commented Dec 12, 2024

Hi, this is my first pull request / contribution to a Java project.

I have a need to prepare/warmup the connection pool in advance, and it seems that it was not possible before.

Would a pull request as this be accepted? If yes can can do all the needed adjustments (formatting, tests, documentation...)

This would instruct the LettucePoolingConnectionProvider to warmup the pool before returning the connection.

Thank you!

  • You have read the Spring Data contribution guidelines.
  • You use the code formatters provided here and have them applied to your changes. Don’t submit any formatting related changes.
  • You submit test cases (unit or integration tests) that back your changes.
  • You added yourself as author in the headers of the classes you touched. Amend the date range in the Apache license header if needed. For new types, add the license header (copy from another file and set the current year only).

@pivotal-cla
Copy link

@goetas Please sign the Contributor License Agreement!

Click here to manually synchronize the status of this Pull Request.

See the FAQ for frequently asked questions.

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Dec 12, 2024
@goetas goetas force-pushed the prepare-pool branch 2 times, most recently from ad3c2ff to adb2b0a Compare December 12, 2024 21:43
@pivotal-cla
Copy link

@goetas Thank you for signing the Contributor License Agreement!

@mp911de
Copy link
Member

mp911de commented Dec 16, 2024

Thanks for reaching out. I would consider the missing call to GenericObjectPool.preparePool even a bug as we do not enforce midIdle. Have you tried calling always preparePool in computeIfAbsent(…) and see how tests behave?

@mp911de mp911de added type: bug A general bug and removed status: waiting-for-triage An issue we've not yet triaged labels Dec 16, 2024
@goetas
Copy link
Author

goetas commented Dec 16, 2024

@mp911de hi and thanks for answering so quickly. I have moved the pool preparation to computeIfAbsent. Tests seem green (at least locally for me), I have also adjusted the code style.
I did not add this feature/fix for getConnectionAsync as the AsyncPool seems totally different from the "sync pool" and I could not understand how it is supposed to work.

@mp911de mp911de self-assigned this Dec 16, 2024
@mp911de mp911de added this to the 3.3.8 (2024.0.8) milestone Dec 16, 2024
@goetas
Copy link
Author

goetas commented Dec 16, 2024

I would consider the missing call to GenericObjectPool.preparePool even a bug as we do not enforce midIdle

if this is a bug, then maybe i do not need to add an additional config? should i just call preparePool ?

@mp911de
Copy link
Member

mp911de commented Dec 16, 2024

if this is a bug, then maybe i do not need to add an additional config?

That's how I see it as well.

should i just call preparePool ?

Yes, that should be sufficient.

@goetas
Copy link
Author

goetas commented Dec 16, 2024

All changes have been done as suggested

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug A general bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants