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

core/expiration: Switch Expiration Manager to use Fairsharing Backpressure #10932

Merged
merged 1 commit into from
Feb 17, 2021

Conversation

swayne275
Copy link
Contributor

Use fairsharing backpressure for expiration manager lease revocations

…1709)

* basic pool and start testing

* refactor a bit for testing

* workFunc, start/stop safety, testing

* cleanup function for worker quit, more tests

* redo public/private members

* improve tests, export types, switch uuid package

* fix loop capture bug, cleanup

* cleanup tests

* update worker pool file name, other improvements

* add job manager prototype

* remove remnants

* add functions to wait for job manager and worker pool to stop, other fixes

* test job manager functionality, fix bugs

* encapsulate how jobs are distributed to workers

* make worker job channel read only

* add job interface, more testing, fixes

* set name for dispatcher

* fix test races

* wire up expiration manager most of the way

* dispatcher and job manager constructors don't return errors

* logger now dependency injected

* make some members private, test fcn to get worker pool size

* make GetNumWorkers public

* Update helper/fairshare/jobmanager_test.go

Co-authored-by: Brian Kassouf <briankassouf@users.noreply.github.com>

* update fairsharing usage, add tests

* make workerpool private

* remove custom worker names

* concurrency improvements

* remove worker pool cleanup function

* remove cleanup func from job manager, remove non blocking stop from fairshare

* update job manager for new constructor

* stop job manager when expiration manager stopped

* unset env var after test

* stop fairshare when started in tests

* stop leaking job manager goroutine

* prototype channel for waking up to assign work

* fix typo/bug and add tests

* improve job manager wake up, fix test typo

* put channel drain back

* better start/pause test for job manager

* comment cleanup

* degrade possible noisy log

* remove closure, clean up context

* improve revocation context timer

* test: reduce number of revocation workers during many tests

* Update vault/expiration.go

Co-authored-by: Brian Kassouf <briankassouf@users.noreply.github.com>

* feedback tweaks

Co-authored-by: Brian Kassouf <briankassouf@users.noreply.github.com>
@briankassouf briankassouf changed the title Vault-1403 Switch Expiration Manager to use Fairsharing Backpressure … core/expiration: Switch Expiration Manager to use Fairsharing Backpressure Feb 17, 2021
@briankassouf briankassouf added this to the 1.7 milestone Feb 17, 2021
@briankassouf briankassouf merged commit 3736e30 into master Feb 17, 2021
@briankassouf briankassouf deleted the expiration-fairsharing-backpressure branch February 17, 2021 22:33
catsby added a commit that referenced this pull request Feb 19, 2021
* master:
  Adds API docs for max_age role parameter of JWT/OIDC auth method (#10916)
  UI/Database Secrets Engine cleanup (#10949)
  helper/metricsutil: Prevent potential Ticker leak (#10913)
  core/expiration: Add backoff jitter to the expiration retries (#10937)
  Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939)
  Vault Dependency Upgrades [VAULT-871] (#10903)
  Add docs for Agent's template_retry option added in #10644, based on those from consul-template configuration.  Also fix some existing config docs that weren't adhering to our conventions. (#10911)
  UI Database Secrets Engine (MongoDB) (#10655)
  OpenAPI - Don't panic if field isn't found (#10929)
  Vault-1403 Switch Expiration Manager to use Fairsharing Backpressure (#1709) (#10932)
  Update KV Secrets Engine index (#10933)
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.

3 participants