mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-14 23:21:35 +00:00
acquire_lock stores the pod_id through async_set_cache, which JSON-encodes the value, so Redis holds the quoted string "<pod_id>". release_lock's Lua compare-and-delete compared the raw pod_id, so the equality check never matched and the lock was never deleted; it only cleared on TTL expiry. That stalled the spend-update drain whenever the leader pod restarted, letting the litellm_daily_*_spend_update_buffer lists grow unbounded in Redis. Compare against json.dumps(self.pod_id) so the release matches the stored value. The GET+DEL fallback already round-trips through async_get_cache and is unaffected. Co-authored-by: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| test_base_update_queue.py | ||
| test_daily_spend_update_queue.py | ||
| test_pod_lock_manager.py | ||
| test_redis_update_buffer.py | ||
| test_spend_logs_partition_manager.py | ||
| test_spend_update_queue.py | ||
| test_tool_discovery_queue.py | ||