wso2 / wso2/api-platform

Fix: UpdateMCPProxy collapses transient DB errors into not-found response

Open
#1,524 0 comments 0 reactions 1 assignee View on GitHub

@dushaniw is already working on this.

Since Mar 27, 2026.

Dominant language
Go
Stars
71
Forks
111
Avg merge
1d 14h
Merged PRs (30d)
110

Description

Summary

In gateway/gateway-controller/pkg/utils/mcp_deployment.go, the UpdateMCPProxy function currently collapses every error from GetMCPProxyByHandle into a generic "not found" message. This means transient DB/read failures are surfaced as false 404-like errors instead of internal errors.

Fix Required

Differentiate between true not-found errors and transient/unexpected errors in the UpdateMCPProxy lookup:

existing, err := s.GetMCPProxyByHandle(handle)
if err != nil {
    if isMCPNotFoundError(err) {
        return nil, fmt.Errorf("MCP proxy configuration with handle '%s' not found", handle)
    }
    return nil, fmt.Errorf("failed to look up MCP proxy: %w", err)
}
if existing == nil {
    return nil, fmt.Errorf("MCP proxy configuration with handle '%s' not found", handle)
}

Context

/cc @dushaniw

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.