Skip to content

[public-api] Implement connection pool with LRU cache #13750

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

Merged
merged 1 commit into from
Oct 31, 2022

Conversation

easyCZ
Copy link
Member

@easyCZ easyCZ commented Oct 11, 2022

Description

Adds a connection pool implementation for ServerConnectionPool. This pool caches connections by their token. The cache is an LRU.

Initially, the LRU size is set to 3k which is derived from existing WS connection count on server.
There are metrics to track the cache hit rate, as well as how full the cache is.

Related Issue(s)

How to test

Unit test

Release Notes

NONE

Documentation

Werft options:

  • /werft with-local-preview
    If enabled this will build install/preview
  • /werft with-preview
  • /werft with-integration-tests=all
    Valid options are all, workspace, webapp, ide

@stale
Copy link

stale bot commented Oct 22, 2022

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the meta: stale This issue/PR is stale and will be closed soon label Oct 22, 2022
@easyCZ easyCZ changed the title [public-api] Implement cconnection pool with conn reuse [public-api] Implement connection pool with conn reuse Oct 24, 2022
@easyCZ easyCZ added the team: webapp Issue belongs to the WebApp team label Oct 24, 2022
@easyCZ easyCZ self-assigned this Oct 24, 2022
@roboquat roboquat added size/L and removed size/M labels Oct 25, 2022
@stale stale bot removed meta: stale This issue/PR is stale and will be closed soon labels Oct 25, 2022
@easyCZ easyCZ force-pushed the mp/public-api-caching-proxy branch 2 times, most recently from 68b09d4 to f82ebaf Compare October 25, 2022 20:56
@easyCZ easyCZ changed the title [public-api] Implement connection pool with conn reuse [public-api] Implement connection pool with LRU cache Oct 25, 2022
@easyCZ easyCZ marked this pull request as ready for review October 25, 2022 20:59
@easyCZ easyCZ requested a review from a team October 25, 2022 20:59
@easyCZ easyCZ force-pushed the mp/public-api-caching-proxy branch from f82ebaf to 1826f37 Compare October 26, 2022 05:58
@easyCZ easyCZ changed the base branch from main to mp/gitpod-protocol-closer October 26, 2022 05:59
@easyCZ
Copy link
Member Author

easyCZ commented Oct 26, 2022

/hold for dependency on #14171

Base automatically changed from mp/gitpod-protocol-closer to main October 26, 2022 12:11
@easyCZ easyCZ force-pushed the mp/public-api-caching-proxy branch from 1826f37 to ba16a80 Compare October 26, 2022 14:14
@easyCZ
Copy link
Member Author

easyCZ commented Oct 26, 2022

/unhold dependency satisfied

@easyCZ
Copy link
Member Author

easyCZ commented Oct 26, 2022

/unhold

@easyCZ easyCZ force-pushed the mp/public-api-caching-proxy branch from ba16a80 to 8776057 Compare October 31, 2022 12:41
@easyCZ easyCZ requested a review from andrew-farries October 31, 2022 12:42
@roboquat roboquat merged commit 9d1a824 into main Oct 31, 2022
@roboquat roboquat deleted the mp/public-api-caching-proxy branch October 31, 2022 12:59
@roboquat roboquat added deployed: webapp Meta team change is running in production deployed Change is completely running in production labels Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deployed: webapp Meta team change is running in production deployed Change is completely running in production release-note-none size/L team: webapp Issue belongs to the WebApp team
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants