Skip to content

Commit 2c211c5

Browse files
committed
docs: import CloudNativePG main
1 parent 8ec65ad commit 2c211c5

1 file changed

Lines changed: 13 additions & 15 deletions

File tree

website/docs/appendixes/backup_volumesnapshot.md

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -266,12 +266,12 @@ for details on this standard behavior.
266266

267267
## Backup Volume Snapshot Deadlines
268268

269-
CloudNativePG supports backups using the volume snapshot method. In some
270-
environments, volume snapshots may encounter temporary issues that can be
271-
retried.
269+
CloudNativePG supports backups using the volume snapshot method. Volume
270+
snapshot operations may encounter errors, which CloudNativePG retries for a
271+
configurable amount of time before giving up.
272272

273273
The `backup.cnpg.io/volumeSnapshotDeadline` annotation defines how long
274-
CloudNativePG should continue retrying recoverable errors before marking the
274+
CloudNativePG should continue retrying these errors before marking the
275275
backup as failed.
276276

277277
You can add the `backup.cnpg.io/volumeSnapshotDeadline` annotation to both
@@ -283,22 +283,20 @@ If not specified, the default retry deadline is **10 minutes**.
283283

284284
### Error Handling
285285

286-
When a retryable error occurs during a volume snapshot operation:
286+
When an error occurs during a volume snapshot operation:
287287

288288
1. CloudNativePG records the time of the first error.
289289
2. The system retries the operation every **10 seconds**.
290290
3. If the error persists beyond the specified deadline (or the default 10
291291
minutes), the backup is marked as **failed**.
292292

293-
### Retryable Errors
294-
295-
CloudNativePG treats the following types of errors as retryable:
296-
297-
- **Server timeout errors** (HTTP 408, 429, 500, 502, 503, 504)
298-
- **Conflicts** (optimistic locking errors)
299-
- **Internal errors**
300-
- **Context deadline exceeded errors**
301-
- **Timeout errors from the CSI snapshot controller**
293+
The CSI driver reports snapshot errors as free text, with no reliable way to
294+
tell a permanent condition (for example, a missing `VolumeSnapshotClass` or
295+
invalid credentials) from a transient one, and a condition that looks
296+
permanent can become resolvable at any point, for example if someone creates
297+
the missing class or fixes the credentials while CloudNativePG is retrying.
298+
For this reason, CloudNativePG retries every volume snapshot error the same
299+
way, until the deadline is reached.
302300

303301
### Examples
304302

@@ -322,7 +320,7 @@ When you define a `ScheduledBackup` with the annotation, any `Backup` resources
322320
created from this schedule automatically inherit the specified timeout value.
323321

324322
In the following example, all backups created from the schedule will have a
325-
30-minute timeout for retrying recoverable snapshot errors.
323+
30-minute timeout for retrying snapshot errors.
326324

327325
```yaml
328326
apiVersion: postgresql.cnpg.io/v1

0 commit comments

Comments
 (0)