Skip to main content
search
Error Logs

Error blog: “ConcurrentSnapshotExecutionException” – The snapshot collision

By November 21, 2025No Comments

Error log: You try to start a new snapshot, but the request is immediately rejected with this error.

JSON

None
{

  "error": {

    "root_cause": [

      {

        "type": "concurrent_snapshot_execution_exception",

        "reason": "[my_s3_repo:my_snapshot_02] 

                   cannot execute snapshot while another snapshot 

                   is in progress [my_snapshot_01]"

      }

    ],

    "type": "concurrent_snapshot_execution_exception",

    "reason": "[my_s3_repo:my_snapshot_02] 

               cannot execute snapshot while another snapshot 

               is in progress [my_snapshot_01]"

  },

  "status": 503

}

Why… is this happening? This is a straightforward scheduling conflict. OpenSearch enforces a strict rule: you can only run one snapshot operation at a time, per repository.

This error means you sent a request to start my_snapshot_02, but OpenSearch looked and saw that my_snapshot_01 (in the same my_s3_repo repository) was already running. To protect the integrity of the repository and the snapshots, it rejects the new request.

This is very common if you have an automated snapshot policy (e.g., a cron job that runs every hour) but a previous snapshot is taking longer than an hour to complete (e.g., you’re backing up terabytes of data). The new snapshot job tries to start before the old one has finished.

Best Practice:

1. Check current snapshots: Before starting a new snapshot, always check for one that’s already running.
Bash

None
GET /_snapshot/my_s3_repo/_current

2. This will either return an empty list [] or show you the details of the snapshot in progress.

3. Monitor snapshot progress: You can see the status of all snapshots (running, failed, or successful) with:
Bash

None

GET /_snapshot/my_s3_repo/_all

4. Check your cron / Schedule: If this is happening regularly, check your snapshot schedule. If your snapshot takes 2 hours, you can’t schedule it to run every 1 hour. Give it more time.

5. Use snapshot lifecycle management (SLM): Instead of a brittle cron job, use the built-in SLM feature in OpenSearch. This is a robust, cluster-aware policy engine that handles scheduling and retention automatically and is designed to prevent these very collisions. You can configure it right inside OpenSearch Dashboards.

What else can I do? Is a snapshot stuck in the IN_PROGRESS state for days? This can also cause this error. You may need to manually delete the stuck snapshot (which can be risky). Before doing that, ask the OpenSearch community for help or contact us in The OpenSearch Slack Channel in #General.

Author