gRPC

gRPC 1 CANCELLED vs 6 ALREADY_EXISTS

Both gRPC 1 (CANCELLED) and 6 (ALREADY_EXISTS) belong to the gRPC Status Codes category. 1 indicates that the operation was cancelled, typically by the caller. 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.

Description

The operation was cancelled, typically by the caller.

When You See It

The client explicitly cancelled the RPC, or a deadline or context cancellation propagated to the server before it could finish processing.

How to Fix

If unexpected, check whether the client is setting too-short deadlines or if cancellation is being triggered inadvertently in your call chain.

Description

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.

When You See It

A create operation failed because a resource with the same unique identifier or name already exists in the system.

How to Fix

Use a different identifier, or switch to an upsert/update operation if overwriting is acceptable. Check for existing resources before creating.

Key Differences

1.

gRPC 1: The operation was cancelled, typically by the caller.

2.

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.

3.

You encounter 1 when the client explicitly cancelled the RPC, or a deadline or context cancellation propagated to the server before it could finish processing.

4.

You encounter 6 when a create operation failed because a resource with the same unique identifier or name already exists in the system.

When to Use Which

For 1 (CANCELLED): If unexpected, check whether the client is setting too-short deadlines or if cancellation is being triggered inadvertently in your call chain. 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.

Learn More