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

fix #4985: triggering the cleanup of the idle task #4986

Merged
merged 1 commit into from
Mar 25, 2023

Conversation

shawkins
Copy link
Contributor

@shawkins shawkins commented Mar 21, 2023

Description

Fix #4985

A thread is held per connectionpool to clean idle connections on quarkusio/quarkus#18973 we noticed that this is holding a quarkus classloader that eventually run tests out of memory. There seems to be only two ways to address this immediately:

  1. trigger the cleanup when the pool is empty with a notification that will wake up the job and let it exit. This is of course not a full fledged part of their api and does change between versions, such that we have to get a hold of a different object. This is the initial proposal.
  2. Add logic that will provide more control over the idle timeout on the ConnectionPool - those are arguments to the pool constructor that can then be provided to the okhttp client builder. However I'm not sure there's a good value we can always set, it seems like it would be dependent upon whether you were running in such a way as to expect lots of client creation.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change
  • Chore (non-breaking change which doesn't affect codebase;
    test, version modification, documentation, etc.)

Checklist

  • Code contributed by me aligns with current project license: Apache 2.0
  • I Added CHANGELOG entry regarding this change
  • I have implemented unit tests to cover my changes
  • I have added/updated the javadocs and other documentation accordingly
  • No new bugs, code smells, etc. in SonarCloud report
  • I tested my code in Kubernetes
  • I tested my code in OpenShift

@manusa manusa added this to the 6.6.0 milestone Mar 24, 2023
@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

62.5% 62.5% Coverage
0.0% 0.0% Duplication

@manusa manusa merged commit 7b41622 into fabric8io:master Mar 25, 2023
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.

Closing okhttp client leaves connection pool cleanup task
3 participants