You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The JSON RPC Relay currently maps all Mirror Node 5xx errors (500, 502, 503, 504) to a generic 500 Internal Server Error when responding to clients. This lack of granular error mapping makes it difficult for clients to differentiate between transient failures, gateway issues, and actual server-side problems.
From our investigation, the majority of failures stem from:
502 Bad Gateway (99% of 5xx errors) – Indicates an upstream Mirror Node failure.
503 Service Unavailable – Suggests that the Mirror Node is temporarily overloaded or undergoing maintenance.
504 Gateway Timeout – Indicates that the Mirror Node request took too long to process.
By improving how these errors are mapped, the Relay can provide more informative responses, allowing clients to handle failures more effectively and reducing unnecessary retries.
Solution
Enhance the Relay's error handling by implementing a more precise mapping mechanism - return 502, 503, and 504 to clients instead of a generic 500, preserving the original failure reason.
Alternatives
No response
The text was updated successfully, but these errors were encountered:
Problem
The JSON RPC Relay currently maps all Mirror Node 5xx errors (500, 502, 503, 504) to a generic 500 Internal Server Error when responding to clients. This lack of granular error mapping makes it difficult for clients to differentiate between transient failures, gateway issues, and actual server-side problems.
From our investigation, the majority of failures stem from:
By improving how these errors are mapped, the Relay can provide more informative responses, allowing clients to handle failures more effectively and reducing unnecessary retries.
Solution
Enhance the Relay's error handling by implementing a more precise mapping mechanism - return 502, 503, and 504 to clients instead of a generic 500, preserving the original failure reason.
Alternatives
No response
The text was updated successfully, but these errors were encountered: