Commit graph

9 commits

Author SHA1 Message Date
Ishaan Jaffer
659d4013c5 fix: address Greptile review issues
- GCPIAMCredentialProvider now inherits from redis.credentials.CredentialProvider
  so redis-py's async path calls get_credentials_async() properly
- move _redis_credential_provider import to top of _redis.py (PEP 8)
- remove dead else-branch that silently no-oped (gcp_service_account from
  redis_kwargs.get() was always None since it's popped by _get_redis_client_logic)
- remove mid-function 'from litellm import get_secret_str' inline import
- remove unused 'call' import from test_redis.py
2026-03-23 10:17:43 -07:00
Ishaan Jaffer
a1494b59a3 refactor(redis): move GCPIAMCredentialProvider to its own file
Extract GCPIAMCredentialProvider and _generate_gcp_iam_access_token
into litellm/_redis_credential_provider.py. _redis.py imports them
from there, keeping the public API unchanged.
2026-03-23 10:17:43 -07:00
Ishaan Jaffer
67b752ca8f fix(redis): regenerate GCP IAM token per connection for async cluster clients
Async RedisCluster was generating the IAM token once at startup and
storing it as a static password. After the 1-hour GCP token TTL, any
new connection (including to newly-discovered cluster nodes) would fail
to authenticate.

Fix: introduce GCPIAMCredentialProvider that implements redis-py's
CredentialProvider protocol. It calls _generate_gcp_iam_access_token()
on every new connection, matching what the sync redis_connect_func
already does. async_redis.RedisCluster accepts a credential_provider
kwarg which is invoked per-connection.
2026-03-23 10:17:43 -07:00
cohml
3eeb14bf1a
fix(cache): Fix Redis cluster caching (#23480)
* fix redis cluster startup_nodes check order

* add tests for redis cluster startup_nodes fix
2026-03-17 08:32:01 -07:00
soo-jin.kim
03e1d93199
fix: Apply max_connections configuration to Redis async client (#15797)
* fix: Apply max_connections configuration to Redis async client

- Add max_connections to available Redis cluster kwargs
- Add connection_pool parameter to get_redis_async_client()
- Pass connection_pool to Redis client if provided
- Prevents Redis connection exhaustion under high load

* test: Add tests for Redis max_connections feature

- Test max_connections is included in cluster kwargs
- Test connection_pool parameter is properly passed to async client
- Test async client works without connection_pool parameter

All 3 tests pass successfully
2025-10-22 09:19:08 -07:00
Sameer Kankute
138bdbb6d8
fix mapped tests 1 (#15445)
* fix mapped tests

* fix mapped tests
2025-10-11 08:33:08 -07:00
Pierre-Emmanuel MERCIER
861750790b feat: add redis ssl and username support (#11319) 2025-10-08 16:48:07 -07:00
Ishaan Jaff
8920a645e9
Revert "feat: add redis ssl and username support (#11319)" (#14303)
This reverts commit 31f806f7d0.
2025-09-06 14:01:00 -07:00
Pierre-Emmanuel MERCIER
31f806f7d0
feat: add redis ssl and username support (#11319) 2025-09-05 10:35:11 -07:00