llama-stack-mirror/llama_stack/distribution
grs 87a4b9cb28
fix: synchronize concurrent coroutines checking & updating key set (#2215)
# What does this PR do?

This PR adds a lock to coordinate concurrent coroutines passing through
the jwt verification. As _refresh_jwks() was setting _jwks to an empty
dict then repopulating it, having multiple coroutines doing this
concurrently risks losing keys. The PR also builds the updated dict as a
separate object and assigns it to _jwks once completed. This avoids
impacting any coroutines using the key set as it is being updated.

Signed-off-by: Gordon Sim <gsim@redhat.com>
2025-05-20 10:00:44 -07:00
..
routers fix: catch TimeoutError in place of asyncio.TimeoutError (#2131) 2025-05-12 11:49:59 +02:00
server fix: synchronize concurrent coroutines checking & updating key set (#2215) 2025-05-20 10:00:44 -07:00
store feat: implementation for agent/session list and describe (#1606) 2025-05-07 14:49:23 +02:00
ui chore: more mypy fixes (#2029) 2025-05-06 09:52:31 -07:00
utils feat: refactor external providers dir (#2049) 2025-05-15 20:17:03 +02:00
__init__.py API Updates (#73) 2024-09-17 19:51:35 -07:00
access_control.py chore: enable pyupgrade fixes (#1806) 2025-05-01 14:23:50 -07:00
build.py fix: enforce stricter ASCII rules lint rules in Ruff (#2062) 2025-04-30 18:05:27 +02:00
build_conda_env.sh chore: remove straggler references to llama-models (#1345) 2025-03-01 14:26:03 -08:00
build_container.sh feat: refactor external providers dir (#2049) 2025-05-15 20:17:03 +02:00
build_venv.sh chore: remove straggler references to llama-models (#1345) 2025-03-01 14:26:03 -08:00
client.py chore: enable pyupgrade fixes (#1806) 2025-05-01 14:23:50 -07:00
common.sh feat(pre-commit): enhance pre-commit hooks with additional checks (#2014) 2025-04-30 11:35:49 -07:00
configure.py feat: refactor external providers dir (#2049) 2025-05-15 20:17:03 +02:00
datatypes.py fix: Pass external_config_dir to BuildConfig (#2190) 2025-05-19 14:01:28 +02:00
distribution.py feat: refactor external providers dir (#2049) 2025-05-15 20:17:03 +02:00
inspect.py feat: add health to all providers through providers endpoint (#1418) 2025-04-14 11:59:36 +02:00
library_client.py fix: Pass external_config_dir to BuildConfig (#2190) 2025-05-19 14:01:28 +02:00
providers.py fix: catch TimeoutError in place of asyncio.TimeoutError (#2131) 2025-05-12 11:49:59 +02:00
request_headers.py chore: more mypy fixes (#2029) 2025-05-06 09:52:31 -07:00
resolver.py feat: introduce APIs for retrieving chat completion requests (#2145) 2025-05-18 21:43:19 -07:00
stack.py chore: enable pyupgrade fixes (#1806) 2025-05-01 14:23:50 -07:00
start_stack.sh fix: replace all instances of --yaml-config with --config (#2196) 2025-05-16 14:31:12 -07:00