gRPC 5 NOT_FOUND vs 6 ALREADY_EXISTS
Both gRPC 5 (NOT_FOUND) and 6 (ALREADY_EXISTS) 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, 6 means that the entity that a client attempted to create already exists. For example, a file or directory that the RPC was supposed to create already exists.
Mô tả
Some requested entity was not found. For example, a file or directory that the RPC was supposed to operate on does not exist.
Khi bạn thấy mã này
The resource referenced in the request doesn't exist — such as looking up a user by ID that has been deleted or never created.
Cách khắc phục
Verify the resource identifier is correct. Ensure the resource was created before accessing it, or handle the not-found case gracefully in your client.
Mô tả
The entity that a client attempted to create already exists. For example, a file or directory that the RPC was supposed to create already exists.
Khi bạn thấy mã này
A create operation failed because a resource with the same unique identifier or name already exists in the system.
Cách khắc phục
Use a different identifier, or switch to an upsert/update operation if overwriting is acceptable. Check for existing resources before creating.
Sự khác biệt chính
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 6: The entity that a client attempted to create already exists. For example, a file or directory that the RPC was supposed to create already exists.
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 6 when a create operation failed because a resource with the same unique identifier or name already exists in the system.
Khi nào dùng cái nào
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 6 (ALREADY_EXISTS): Use a different identifier, or switch to an upsert/update operation if overwriting is acceptable. Check for existing resources before creating.