Modules

Nested message and enum types in ProtoDataflowError.
Nested message and enum types in ProtoDecodeErrorKind.
Nested message and enum types in ProtoEnvelopeErrorV1.
Nested message and enum types in ProtoSourceErrorDetails.
Nested message and enum types in ProtoUpsertError.

Structs

The underlying data was not decodable in the format we expected: eg. invalid JSON or Avro data that doesn’t match a schema.
The “V1” suffix was requested by the storage team, since they might want to repurpose/modify this field in the future.
Source-wide durable errors; for example, a replication log being meaningless or corrupted. This should not include transient source errors, like connection issues or misconfigurations.
An error from a value in an upsert source. The corresponding key is included, allowing us to reconstruct their entry in the upsert map upon restart.

Enums

An error that’s destined to be presented to the user in a differential dataflow collection. For example, a divide by zero will be visible in the error collection for a particular row.
Errors arising during envelope processing.
An error that can be retracted by a future message using upsert logic.