Troubleshoot event publishing

Error status

If event publishing fails, the error that is returned includes an error status field, the value of which corresponds to an error class:

HTTP code Error status Error class
409 ABORTED Transient
429 RESOURCE_EXHAUSTED Transient
499 CANCELLED Transient
500 INTERNAL Transient
500 UNKNOWN Transient
503 UNAVAILABLE Transient
504 DEADLINE_EXCEEDED Transient
400 FAILED_PRECONDITION Fatal
400 INVALID_ARGUMENT Fatal
400 OUT_OF_RANGE Fatal
401 UNAUTHENTICATED Fatal
403 PERMISSION_DENIED Fatal
409 ALREADY_EXISTS Fatal
501 UNIMPLEMENTED Fatal
404 NOT_FOUND Fatal Channel
500 DATA_LOSS Fatal Channel

Error class

The error class indicates how you should handle the error:

Error class
Transient

The publish request has failed due to a temporary condition. You can retry the process.

Examples:

  • Publishing quota has been met.
  • An internal Eventarc error has occurred.
Fatal

Publishing this event can't succeed and can't be retried in its current form. Depending on the specific error, you can try altering or restructuring the event to correct the error, and then retry the publish request.

Examples:

  • The event is malformed, or contains invalid input.
  • The publish request contains too many events.
Fatal Channel

The subscriber's channel can't be published to; either it no longer exists, or has become permanently disabled. This request can't be retried and you should stop all event publishing. You can safely delete the channelConnection resource.

Examples:

  • The subscriber has deleted the connected channel.
  • The subscriber has deleted the Pub/Sub transport topic for the channel.

Learn more about the error model for Google APIs.