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"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis webpage details the \u003ccode\u003eTransientFaultDetector\u003c/code\u003e class, which is crucial for handling retries in Spanner transactions using the Transient Fault Handling Application Block.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available is \u003ccode\u003e5.0.0-beta05\u003c/code\u003e, and the page lists multiple versions from \u003ccode\u003e5.0.0-beta04\u003c/code\u003e to \u003ccode\u003e3.5.0\u003c/code\u003e, each linked to their respective documentation.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eIsTransientSpannerFault(Exception)\u003c/code\u003e method, part of this class, determines if an exception indicates a transient Spanner error, like network interruptions or temporary unavailability, where retrying the operation might succeed.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSpannerTransientErrorDetectionStrategy\u003c/code\u003e class demonstrates how to implement \u003ccode\u003eITransientErrorDetectionStrategy\u003c/code\u003e to detect transient Spanner faults, aiding in building execution retry strategies.\u003c/p\u003e\n"]]],[],null,[]]