A basic implementation of ResultRetryAlgorithm. Using this implementation would mean that
all exceptions should be retried, all responses should be accepted (including null) and
no retrying process should ever be canceled.
[[["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-08-28 UTC."],[[["\u003cp\u003eThe latest version of \u003ccode\u003eBasicResultRetryAlgorithm\u003c/code\u003e is 2.63.1, with multiple prior versions available for reference, all the way back to version 2.7.1.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eBasicResultRetryAlgorithm\u003c/code\u003e is a fundamental implementation of \u003ccode\u003eResultRetryAlgorithm\u003c/code\u003e, handling all exceptions as retryable and accepting any responses, including null values.\u003c/p\u003e\n"],["\u003cp\u003eThis implementation of the algorithm is designed not to cancel any retrying processes, making it reliable in situations where retries are always preferred.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ecreateNextAttempt\u003c/code\u003e method within this class always returns null, indicating that no specific settings are provided for subsequent attempts.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eshouldRetry\u003c/code\u003e method determines whether a retry is needed, returning true if an exception was thrown, and false otherwise.\u003c/p\u003e\n"]]],[],null,["# Class BasicResultRetryAlgorithm<ResponseT> (2.69.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.69.0 (latest)](/java/docs/reference/gax/latest/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.68.2](/java/docs/reference/gax/2.68.2/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.67.0](/java/docs/reference/gax/2.67.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.66.0](/java/docs/reference/gax/2.66.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.65.0](/java/docs/reference/gax/2.65.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.63.1](/java/docs/reference/gax/2.63.1/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.62.0](/java/docs/reference/gax/2.62.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.61.0](/java/docs/reference/gax/2.61.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.60.0](/java/docs/reference/gax/2.60.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.59.1](/java/docs/reference/gax/2.59.1/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.58.0](/java/docs/reference/gax/2.58.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.57.0](/java/docs/reference/gax/2.57.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.55.0](/java/docs/reference/gax/2.55.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.54.1](/java/docs/reference/gax/2.54.1/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.53.0](/java/docs/reference/gax/2.53.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.52.0](/java/docs/reference/gax/2.52.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.51.0](/java/docs/reference/gax/2.51.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.50.0](/java/docs/reference/gax/2.50.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.49.0](/java/docs/reference/gax/2.49.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.48.1](/java/docs/reference/gax/2.48.1/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.47.0](/java/docs/reference/gax/2.47.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.46.1](/java/docs/reference/gax/2.46.1/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.45.0](/java/docs/reference/gax/2.45.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.43.0](/java/docs/reference/gax/2.43.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.42.0](/java/docs/reference/gax/2.42.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.41.0](/java/docs/reference/gax/2.41.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.39.0](/java/docs/reference/gax/2.39.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.38.0](/java/docs/reference/gax/2.38.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.37.0](/java/docs/reference/gax/2.37.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.36.0](/java/docs/reference/gax/2.36.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.35.0](/java/docs/reference/gax/2.35.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.34.1](/java/docs/reference/gax/2.34.1/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.33.0](/java/docs/reference/gax/2.33.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.32.1](/java/docs/reference/gax/2.32.1/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.31.1](/java/docs/reference/gax/2.31.1/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.30.1](/java/docs/reference/gax/2.30.1/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.24.0](/java/docs/reference/gax/2.24.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.23.3](/java/docs/reference/gax/2.23.3/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.22.0](/java/docs/reference/gax/2.22.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.21.0](/java/docs/reference/gax/2.21.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.20.1](/java/docs/reference/gax/2.20.1/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.19.6](/java/docs/reference/gax/2.19.6/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.18.7](/java/docs/reference/gax/2.18.7/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.17.0](/java/docs/reference/gax/2.17.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.16.0](/java/docs/reference/gax/2.16.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.15.0](/java/docs/reference/gax/2.15.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.14.0](/java/docs/reference/gax/2.14.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.13.0](/java/docs/reference/gax/2.13.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.12.2](/java/docs/reference/gax/2.12.2/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.11.0](/java/docs/reference/gax/2.11.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.10.0](/java/docs/reference/gax/2.10.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.9.0](/java/docs/reference/gax/2.9.0/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.8.1](/java/docs/reference/gax/2.8.1/com.google.api.gax.retrying.BasicResultRetryAlgorithm)\n- [2.7.1](/java/docs/reference/gax/2.7.1/com.google.api.gax.retrying.BasicResultRetryAlgorithm) \n\n public class BasicResultRetryAlgorithm\u003cResponseT\u003e implements ResultRetryAlgorithmWithContext\u003cResponseT\u003e\n\nA basic implementation of [ResultRetryAlgorithm](/java/docs/reference/gax/latest/com.google.api.gax.retrying.ResultRetryAlgorithm). Using this implementation would mean that\nall exceptions should be retried, all responses should be accepted (including `null`) and\nno retrying process should ever be canceled. \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e BasicResultRetryAlgorithm\\\u003cResponseT\\\u003e \n\nImplements\n----------\n\ncom.google.api.gax.retrying.ResultRetryAlgorithmWithContext\\\u003cResponseT\\\u003e \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nConstructors\n------------\n\n### BasicResultRetryAlgorithm()\n\n public BasicResultRetryAlgorithm()\n\nMethods\n-------\n\n### createNextAttempt(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings)\n\n public TimedAttemptSettings createNextAttempt(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings)\n\nAlways returns null, indicating that this algorithm does not provide any specific settings for\nthe next attempt.\n\n### createNextAttempt(Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings)\n\n public TimedAttemptSettings createNextAttempt(Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings)\n\nAlways returns null, indicating that this algorithm does not provide any specific settings for\nthe next attempt.\n\n### shouldRetry(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse)\n\n public boolean shouldRetry(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse)\n\nReturns `true` if an exception was thrown (`previousThrowable != null`), `\nfalse` otherwise.\n\n### shouldRetry(Throwable previousThrowable, ResponseT previousResponse)\n\n public boolean shouldRetry(Throwable previousThrowable, ResponseT previousResponse)\n\nReturns `true` if an exception was thrown (`previousThrowable != null`), `\nfalse` otherwise."]]