gRPC 5 NOT_FOUND vs 8 RESOURCE_EXHAUSTED
Both gRPC 5 (NOT_FOUND) and 8 (RESOURCE_EXHAUSTED) belong to the gRPC Status Codes category. 5 indicates that some requested entity was not found. For example, a file or directory that the RPC was supposed to operate on does not exist. Meanwhile, 8 means that some resource has been exhausted, perhaps a per-user quota, or the entire file system is out of space.
Description
Some requested entity was not found. For example, a file or directory that the RPC was supposed to operate on does not exist.
When You See It
The resource referenced in the request doesn't exist — such as looking up a user by ID that has been deleted or never created.
How to Fix
Verify the resource identifier is correct. Ensure the resource was created before accessing it, or handle the not-found case gracefully in your client.
Description
Some resource has been exhausted, perhaps a per-user quota, or the entire file system is out of space.
When You See It
A rate limit was hit, a quota was exceeded, or the server ran out of memory/disk. Common with API rate limiting and resource quotas.
How to Fix
Implement exponential backoff and retry. If quota-related, request a quota increase or optimize your usage pattern to stay within limits.
Key Differences
gRPC 5: Some requested entity was not found. For example, a file or directory that the RPC was supposed to operate on does not exist.
gRPC 8: Some resource has been exhausted, perhaps a per-user quota, or the entire file system is out of space.
You encounter 5 when the resource referenced in the request doesn't exist — such as looking up a user by ID that has been deleted or never created.
You encounter 8 when a rate limit was hit, a quota was exceeded, or the server ran out of memory/disk. Common with API rate limiting and resource quotas.
When to Use Which
For 5 (NOT_FOUND): Verify the resource identifier is correct. Ensure the resource was created before accessing it, or handle the not-found case gracefully in your client. For 8 (RESOURCE_EXHAUSTED): Implement exponential backoff and retry. If quota-related, request a quota increase or optimize your usage pattern to stay within limits.