mirror of https://github.com/langgenius/dify.git
This commit removes the Redis caching mechanism for tool provider list API that was introduced in #29101. ## Problems with the current caching approach 1. **Cache inconsistency**: After CRUD operations on tool providers, cached data may not be properly invalidated, causing stale data. 2. **Race conditions**: Cache invalidation timing issues - invalidating inside Redis locks caused timeouts (#30150), moving outside causes race conditions. 3. **Hard to maintain**: Manual cache invalidation scattered across multiple service files is error-prone and difficult to maintain. 4. **User-facing symptoms**: - Newly created tools not appearing in the list - Deleted tools still showing up - Updated tool configurations not reflecting immediately - MCP provider auth state not updating correctly ## Changes - Remove `ToolProviderListCache` class and its usage - Remove cache invalidation calls from all service files - Remove related test mocks - Keep the code optimizations from #29101 (session management, batch processing) Fixes #30322 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| code_executor | ||
| __init__.py | ||
| credential_utils.py | ||
| csv_sanitizer.py | ||
| download.py | ||
| encrypter.py | ||
| http_client_pooling.py | ||
| marketplace.py | ||
| model_provider_cache.py | ||
| moderation.py | ||
| module_import_helper.py | ||
| name_generator.py | ||
| position_helper.py | ||
| provider_cache.py | ||
| provider_encryption.py | ||
| ssrf_proxy.py | ||
| tool_parameter_cache.py | ||
| trace_id_helper.py | ||