### Elasticsearch Version

main

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

MacOS

### Problem Description

Currently, transform state persistence failures are being retried with a constant interval (`60s`).
This is different to how other types of errors are retried (exponential backoff).
We should implement exponential backoff for state persistence failures too.

### Steps to Reproduce

n/a

### Logs (if relevant)

_No response_
x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/transforms/TransformFailureHandler.java
* state handling.
 *
 * TODO:
 *
 *  - the settings have to be passed as parameter - because they can change at runtime - longer term the necessary
 *    parts should be read from the context object instead
 */
class TransformFailureHandler {
    private static final Logger logger = LogManager.getLogger(TransformFailureHandler.class);
    public static final int LOG_FAILURE_EVERY = 10;
    private final TransformAuditor auditor;
    private final String transformId;
    private final TransformContext context;
    TransformFailureHandler(TransformAuditor auditor, TransformContext context, String transformId) {
        this.auditor = auditor;
        this.transformId = transformId;
        this.context = context;
    }
    /**
     * Handle a search or indexing failure
     *
     * @param exception the exception caught
     * @param settingsConfig The settings
     */
    void handleIndexerFailure(Exception exception, SettingsConfig settingsConfig) {
        
        logger.atDebug().withThrowable(exception).log("[{}] transform encountered an exception", transformId);
        Throwable unwrappedException = ExceptionsHelper.findSearchExceptionRootCause(exception);
        boolean unattended = Boolean.TRUE.equals(settingsConfig.getUnattended());
        if (unwrappedException instanceof CircuitBreakingException e) {