Transactions can be retried using the Transient Fault Handling Application Block.
This extension helps you create a strategy that will detect transient faults when performing
transactions with Spanner.
To create an execution strategy, create a class
class SpannerTransientErrorDetectionStrategy : ITransientErrorDetectionStrategy
{
public bool IsTransient(Exception ex) => ex.IsTransientSpannerFault();
}
public static bool IsTransientSpannerFault(this Exception exception)
Returns true if the exception represents a transient error in Spanner.
This indicates that the operation may succeed if it is attempted again.
Common errors that can cause this include temporary network interruption
or the service being temporarily unavailable.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-21 UTC."],[[["This page details the `TransientFaultDetector` class, which is utilized for detecting transient faults in Spanner transactions, allowing for retry strategies to be implemented."],["The latest version of the `TransientFaultDetector` is 5.0.0-beta05, with numerous previous versions available, including stable releases and beta versions, which are accessible via links."],["The `IsTransientSpannerFault` method, an extension method for the Exception class, determines if a given exception is a transient error in Spanner, indicating whether a retry might resolve the issue."],["The `TransientFaultDetector` class, found in the `Google.Cloud.Spanner.Data` namespace, helps create error handling strategies when working with Spanner transactions that may need retries."]]],[]]