In Redis Cloud subscriptions that support multiple databases (for example, Pro subscriptions), control-plane operations are serialized at the subscription level. When Terraform creates, updates, or deletes a database, only one database operation can run at a time within the same subscription. Any additional database changes are queued and shown as Pending or Queued until the active operation completes.
This article explains why databases show Pending, whether availability is affected, how Terraform behaves during these updates, and how to avoid delays when automating database changes when using the Redis Cloud Terraform Provider.
Quick Fix Table
| Symptom | What it means | What to do |
|---|---|---|
| Other databases show Pending during terraform apply | Subscription-level updates are serialized | Wait for the active database update to complete |
| Terraform appears slow or stalled | Updates run one database at a time | Monitor progress in the Redis Cloud Console |
| Concern that databases are offline | Pending is control-plane only | No action needed; traffic continues normally |
| Multiple CI/CD jobs running | Competing automation detected | Stagger pipelines or target specific resources |
Will other databases go offline?
No. Pending does not indicate downtime.
A Pending status refers to queued control-plane updates, not data-plane availability.
Existing databases continue serving normal read and write traffic
Pending does not imply a restart, failover, or loss of connectivity
Any availability impact is limited to the database actively being modified, such as a database scaling operation or a major version upgrade
Other databases in the same subscription are not taken offline simply because an update is in progress elsewhere.
Why databases show Pending
Only one database update can run at a time per subscription.
This design prevents resource contention and ensures predictable provisioning behavior across shared subscription infrastructure.
While Terraform applies a change:
One database update runs actively
All other database updates are queued
Queued databases appear as Pending until the active operation finishes
This behavior is expected and does not indicate a failed or stuck deployment.
Impact on Terraform runs
Terraform waits for serialized updates to complete.
A terraform apply that includes multiple database changes may appear slow or partially stalled
Terraform logs may show resources waiting
The Redis Cloud Console accurately reflects Pending and Active states
This behavior is consistent with how Redis Cloud manages database lifecycle operations through the Redis Cloud REST API.
How to avoid delays and contention
-
Sequence database updates
Apply changes to one database at a time within the same subscription when possible. This aligns well with incremental workflows recommended in the Redis Cloud database management model.
-
Target specific resources
Use Terraform targeting (-target) to apply changes only to the intended database, rather than applying broad updates across all databases in the subscription.
-
Stagger CI/CD pipelines
Avoid running concurrent automation jobs that modify databases in the same subscription. This is especially important when using shared infrastructure in Pro subscriptions.
-
Use subscription boundaries intentionally
If your workload requires parallel database updates, organize those databases into separate subscriptions, as described in Choosing a Redis Cloud subscription.
-
Schedule disruptive changes
For operations that may briefly affect availability on a specific database, follow Redis Cloud maintenance best practices and schedule changes during low-traffic windows.
If updates appear stuck
-
Check for an active update
Confirm whether another database operation is currently running in the same subscription using the Redis Cloud Console or the Subscriptions API.
-
Look for conflicting automation
Verify that no other Terraform runs, CI/CD pipelines, or manual changes are operating on databases in the same subscription.
-
Allow serialization to complete
If a legitimate update is in progress, allow it to finish. Queued updates resume automatically.
-
Re-apply with a narrower scope
Re-run Terraform with targeted resources to reduce waiting on non-critical updates.
-
Handle timeouts safely
If Terraform times out during long-running operations, confirm completion in the console, adjust provider timeouts if supported, and re-apply only after the previous operation has finished.
Frequently asked questions
-
Can I update two databases at the same time in the same subscription?
No. Redis Cloud allows only one database update at a time per subscription. Additional updates are queued as Pending.
-
Does Pending mean a database is down?
No. Pending indicates an update is waiting to start. Existing databases continue normal operation.
-
How can I run database updates in parallel?
Place databases in separate subscriptions or design your Terraform workflow to sequence updates, as outlined in the Redis Cloud automation best practices.
Key takeaway
Databases within the same Redis Cloud subscription share a subscription-level update lock. Only one database operation can run at a time, and other updates are queued as Pending. This behavior is expected, does not interrupt normal database traffic, and should be planned for when designing Terraform automation and CI/CD workflows.
0 comments
Please sign in to leave a comment.