Important

The SingleStore 9.0 release candidate (RC) gives you the opportunity to preview, evaluate, and provide feedback on new and upcoming features prior to their general availability. In the interim, SingleStore 8.9 is recommended for production workloads, which can later be upgraded to SingleStore 9.0.

Pipeline Retry Options

Pipelines support enhanced retry behavior using retry_options configuration. This feature introduces exponential backoff retry logic that provides robust handling of transient upstream failures compared to the previous fixed-interval retries.

Overview

The retry_options clause provides fine-grained control over pipeline batch retries by specifying a JSON configuration. In SingleStore versions 9.0 and later, pipelines use retry_options by default. Exponential backoff is enabled automatically, even if the clause is not explicitly defined. Legacy retry options (e.g., max_retries_per_batch_partition) are supported for versions earlier than 9.0, but are deprecated. If both the parameters are set, retry_options takes precedence.

Syntax

CREATE PIPELINE <pipeline_name> AS LOAD DATA FS '<data_path>'
retry_options '{
"exponential": true,
"retry_interval": <ms>,
"max_retry_interval": <ms>,
"max_retries": <integer>
}'
INTO TABLE <table_name>
FIELDS TERMINATED BY '<delimiter>'
LINES TERMINATED BY '<line_terminator>';

Parameters

Key

Type

Description

Default Setting

exponential

boolean

Enables exponential backoff logic when set to true.

true

retry_interval

integer

Initial wait time (in milliseconds) before the first retry attempt.

batch_interval

max_retry_interval

integer

Maximum wait time (in milliseconds) between retries.

retry_interval*10

max_retries

integer

Total number of retries allowed before the pipeline fails.

pipelines_max_retries_per_batch_partition

Remarks

  • The retry_options value must be a valid JSON string.

  • Parameters in JSON can appear in any order.

  • If any required parameter is missing or parameter data types are incorrect, the pipeline creation fails with a configuration error.

  • In SingleStore versions earlier than 9.0, if both retry_options and max_retries_per_batch_partition are not specified, the system uses pipelines_max_retries_per_batch_partition.

Examples

Exponential Backoff Retry

The following example uses an exponential backoff retry strategy to handle transient failures during the loading process. Exponential backoff is a retry strategy where the wait time between retries increases progressively (for example, 1s, 2s, 4s, 8s) to reduce system load and improve recovery stability. This approach allows the system to automatically retry failed attempts with progressively longer wait times between retries, starting with a 3-second interval, up to a maximum of 50 seconds. The retry mechanism is limited to a maximum of 5 attempts, which helps to balance resilience with system efficiency.

CREATE PIPELINE sample_pipe AS LOAD DATA FS '/path/input.txt'
retry_options '{
"exponential": true,
"retry_interval": 3000,
"max_retry_interval": 50000,
"max_retries": 5
}'
INTO TABLE t
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';

Fixed Interval Retry

The following example uses a fixed interval retry strategy where exponential is set to false for the fixed delay. With this configuration, retry attempts occur at a consistent interval of 3 seconds, regardless of previous failures, up to a maximum of 5 retries. This fixed-delay mechanism ensures predictable retry behavior without increasing wait times between attempts.

CREATE PIPELINE example_pipe AS LOAD DATA FS '/path/input.txt'
retry_options '{
"exponential": false,
"retry_interval": 3000,
"max_retry_interval": 50000,
"max_retries": 5
}'
INTO TABLE t
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';

Error Handling

Common Error

ERROR 1706 (HY000): retry_options {...} could not be set. Refer documentation for correct syntax.

Causes

  • A required key is missing in the JSON.

  • The data type is incorrect.

  • A syntax error in the JSON (e.g., missing quotes or commas).

Last modified: August 25, 2025

Was this article helpful?

Verification instructions

Note: You must install cosign to verify the authenticity of the SingleStore file.

Use the following steps to verify the authenticity of singlestoredb-server, singlestoredb-toolbox, singlestoredb-studio, and singlestore-client SingleStore files that have been downloaded.

You may perform the following steps on any computer that can run cosign, such as the main deployment host of the cluster.

  1. (Optional) Run the following command to view the associated signature files.

    curl undefined
  2. Download the signature file from the SingleStore release server.

    • Option 1: Click the Download Signature button next to the SingleStore file.

    • Option 2: Copy and paste the following URL into the address bar of your browser and save the signature file.

    • Option 3: Run the following command to download the signature file.

      curl -O undefined
  3. After the signature file has been downloaded, run the following command to verify the authenticity of the SingleStore file.

    echo -n undefined |
    cosign verify-blob --certificate-oidc-issuer https://oidc.eks.us-east-1.amazonaws.com/id/CCDCDBA1379A5596AB5B2E46DCA385BC \
    --certificate-identity https://kubernetes.io/namespaces/freya-production/serviceaccounts/job-worker \
    --bundle undefined \
    --new-bundle-format -
    Verified OK