pushback

package
v2.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 9, 2026 License: AGPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

Package pushback carries the gRPC retry pushback signal between a query-backend server and its clients.

The client retries RESOURCE_EXHAUSTED, which the server returns when shedding load. gRPC returns the same code when a response exceeds the send limit, which no retry can fix, so the verdict travels out of band, in the trailer gRPC reserves for it (gRFC A6).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsMarked

func IsMarked(err error) bool

IsMarked reports whether err, or any error it wraps, is marked.

func IsNoRetry

func IsNoRetry(md metadata.MD) bool

IsNoRetry reports whether md carries a pushback value that stops gRPC from retrying: a single negative or unparsable value, or any count but one.

func Mark

func Mark(err error) error

Mark records that retrying err cannot succeed, preserving its gRPC status.

func SetNoRetry

func SetNoRetry(ctx context.Context)

SetNoRetry tells the client that repeating this request cannot succeed. Errors are dropped: a lost signal costs a retry, never a response.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL