gRPC 11 OUT_OF_RANGE vs 13 INTERNAL
Both gRPC 11 (OUT_OF_RANGE) and 13 (INTERNAL) belong to the gRPC Status Codes category. 11 indicates that the operation was attempted past the valid range. For example, seeking or reading past the end of a file. Meanwhile, 13 means that an internal error occurred. This means that some invariant expected by the underlying system has been broken.
Description
The operation was attempted past the valid range. For example, seeking or reading past the end of a file.
When You See It
A pagination offset exceeded the available data, or an iterator moved past the end of a collection. Unlike INVALID_ARGUMENT, this depends on the current state of the data.
How to Fix
Check the valid range before making the request. For pagination, use the total count or next-page token to avoid requesting beyond the last page.
Description
An internal error occurred. This means that some invariant expected by the underlying system has been broken.
When You See It
A server-side bug, a corrupted internal state, or an unexpected failure in a dependency. This is the gRPC equivalent of HTTP 500.
How to Fix
Check the server error logs and traces for the root cause. This typically indicates a bug that needs to be fixed in the server code.
Key Differences
gRPC 11: The operation was attempted past the valid range. For example, seeking or reading past the end of a file.
gRPC 13: An internal error occurred. This means that some invariant expected by the underlying system has been broken.
You encounter 11 when a pagination offset exceeded the available data, or an iterator moved past the end of a collection. Unlike INVALID_ARGUMENT, this depends on the current state of the data.
You encounter 13 when a server-side bug, a corrupted internal state, or an unexpected failure in a dependency. This is the gRPC equivalent of HTTP 500.
When to Use Which
For 11 (OUT_OF_RANGE): Check the valid range before making the request. For pagination, use the total count or next-page token to avoid requesting beyond the last page. For 13 (INTERNAL): Check the server error logs and traces for the root cause. This typically indicates a bug that needs to be fixed in the server code.