dify/api/controllers/console/workspace
Harry 70d0d46678 fix(api): remove tool provider list cache to fix cache inconsistency
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>
2025-12-29 16:32:42 +08:00
..
__init__.py use deco to avoid current_user (#26077) 2025-10-16 15:45:51 +09:00
account.py refactor: port reqparse to Pydantic model (#28949) 2025-12-05 13:05:53 +09:00
agent_providers.py api -> console_ns (#28246) 2025-11-24 10:04:11 +08:00
endpoint.py refactor: port reqparse to Pydantic model (#28913) 2025-11-30 16:09:42 +09:00
error.py fix: drop dead code phase2 unused class (#22042) 2025-07-17 09:33:07 +08:00
load_balancing_config.py refactor: split changes for api/controllers/console/workspace/load_ba… (#29887) 2025-12-26 11:00:03 +08:00
members.py refactor: port reqparse to Pydantic model (#28913) 2025-11-30 16:09:42 +09:00
model_providers.py refactor: port reqparse to Pydantic model (#28913) 2025-11-30 16:09:42 +09:00
models.py fix: fix available_credentials is empty (#29521) 2025-12-12 09:51:55 +08:00
plugin.py feat: add editing support for trigger subscriptions (#29957) 2025-12-24 19:15:54 +08:00
tool_providers.py fix(api): remove tool provider list cache to fix cache inconsistency 2025-12-29 16:32:42 +08:00
trigger_providers.py feat: add editing support for trigger subscriptions (#29957) 2025-12-24 19:15:54 +08:00
workspace.py refactor: port reqparse to Pydantic model (#28913) 2025-11-30 16:09:42 +09:00