Commit Graph

2 Commits

Author SHA1 Message Date
flydream 49a90d03fa fix(multiagent): guard MCPExecutionBinder map with RWMutex
Concurrent tool callbacks in eino_adk_run_loop and the MCP monitor
goroutine call Bind/ExecutionID on the same binder. The previous
implementation used a plain map[string]string, causing intermittent
'concurrent map read and map write' panics — the same race that
TestMCPExecutionBinder_ConcurrentBind was added to guard against.

Wrap the map with sync.RWMutex (write lock in Bind, read lock in
ExecutionID). The TrimSpace of toolCallID/executionID stays outside
the critical section to keep it minimal.

go vet ./internal/multiagent/...   ✓
go test -race ./internal/multiagent/... -run MCPExecutionBinder  ✓
2026-07-06 14:37:56 +08:00
公明 01b361e4a7 Add files via upload 2026-06-18 12:42:56 +08:00