Class RPCRetryPolicy (2.31.0-rc)

Define the interface for controlling how the Bigtable client retries RPC operations.

The C++ client for Bigtable needs to hide partial and temporary failures from the application. However, we need to give the users enough flexibility to control how many attempts are made to reissue operations, how often these attempts are executed, and how to signal that an error has occurred.

The application provides an instance of this class when the Table (or TableAdmin) object is created. This instance serves as a prototype to create new RPCRetryPolicy objects of the same (dynamic) type and with the same initial state.

Functions

clone() const

Return a new copy of this object.

Typically implemented as

return std::unique_ptr<RPCRetryPolicy>(new Foo(*this));
Returns
Type Description
std::unique_ptr< RPCRetryPolicy >

Setup(grpc::ClientContext &) const

Update the ClientContext for the next call.

Parameter
Name Description
context grpc::ClientContext &
Returns
Type Description
void

OnFailure(Status const &)

Handle an RPC failure.

Parameter
Name Description
status Status const &
Returns
Type Description
bool

true if the RPC operation should be retried.

OnFailure(grpc::Status const &)

Parameter
Name Description
status grpc::Status const &
Returns
Type Description
bool

virtual IsExhausted() const

Returns
Type Description
bool

static IsPermanentFailure(Status const &)

Parameter
Name Description
status Status const &
Returns
Type Description
bool

static IsPermanentFailure(grpc::Status const &)

Parameter
Name Description
status grpc::Status const &
Returns
Type Description
bool

Type Aliases

RetryableTraits

Alias Of: bigtable_internal::SafeGrpcRetry