cloudnative-pg / cloudnative-pg/plugin-barman-cloud
[BUG]: Restore breaks when increasing wal.maxParallel to 8.
- 主要言語
- Go
- スター
- 191
- フォーク
- 72
- 平均マージ
- 2日 21時間
- マージ済み PR(30日)
- 21
説明
**Environment**
Kubernetes 1.32
CNPG Version: 1.26.1
Plugin Barman Cloud Version: 0.6.0
**Observation:**
We verify our CNPG Backups nightly by restoring them. Thats when we noticed that most backups can not be restored. When decreasing wal.maxParallel from 8 to 1 in the objectstore it works as expected again. Even previously failed attempts to verify a backup work again.
Sample objectstore configuration:
```
apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore
metadata:
name: fah-db-backup
namespace: kimi
spec:
configuration:
data:
compression: gzip
destinationPath: s3://XXX/db
endpointURL: https://s3.eu-central-1.ionoscloud.com
historyTags:
backupRetentionPolicy: keep
s3Credentials:
accessKeyId:
key: accessKey
name: kimi-s3-backup
secretAccessKey:
key: secretKey
name: kimi-s3-backup
tags:
backupRetentionPolicy: expire
wal:
compression: gzip
maxParallel: 1
instanceSidecarConfiguration:
env:
- name: AWS_REQUEST_CHECKSUM_CALCULATION
value: when_required
- name: AWS_RESPONSE_CHECKSUM_VALIDATION
value: when_required
retentionPolicyIntervalSeconds: 1800
retentionPolicy: 30d
```
Here an example of trying to restore a backup:
```
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
labels:
cnpg-backup-verification: "true"
original-cluster: fah-db
name: fah-db-verify-post-barman
namespace: kimi
spec:
storage:
size: 10Gi
bootstrap:
recovery:
database: kf-fah
owner: kf-fah
secret:
name: fah-db-owner-secret
source: fah-db
env:
- name: AWS_REQUEST_CHECKSUM_CALCULATION
value: when_required
- name: AWS_RESPONSE_CHECKSUM_VALIDATION
value: when_required
externalClusters:
- name: fah-db
plugin:
enabled: true
isWALArchiver: false
name: barman-cloud.cloudnative-pg.io
parameters:
barmanObjectName: fah-db-backup
serverName: fah-db
```
Attached is the complete log of the plugin-barman-cloud sidecar in the CNPG full-recovery job. The critical problem seems to be "end of wal reached" which occurs when restoring with maxParallel 8 but not with maxParallel 1.
[plugin_barman_cloud.log](https://github.com/user-attachments/files/22270128/plugin_barman_cloud.log)
**Expectation**
Restore works independently of the maxParallel setting.
コントリビューションガイド
調査の方向性
Start by reproducing the restore with the provided ObjectStore and Cluster configurations, then inspect the plugin-barman-cloud sidecar log around the "end of wal reached" error. Trace the restore path handling wal.maxParallel and compare behavior at 1 and 8; done means backup restoration succeeds independently of that setting.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- go, kubernetes, postgresql
- 領域
- databases, infrastructure
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 50/100