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> |
||
|---|---|---|
| .. | ||
| agent | ||
| app | ||
| base | ||
| callback_handler | ||
| datasource | ||
| db | ||
| entities | ||
| errors | ||
| extension | ||
| external_data_tool | ||
| file | ||
| helper | ||
| llm_generator | ||
| mcp | ||
| memory | ||
| model_runtime | ||
| moderation | ||
| ops | ||
| plugin | ||
| prompt | ||
| rag | ||
| repositories | ||
| schemas | ||
| tools | ||
| trigger | ||
| variables | ||
| workflow | ||
| __init__.py | ||
| hosting_configuration.py | ||
| indexing_runner.py | ||
| model_manager.py | ||
| provider_manager.py | ||