ObjectStore’s maxParallel doesn’t actually increase the number of parallel uploads
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 62/100
调研方向
从 internal/cnpgi/common/wal.go 中的 internalRun 开始,检查它如何调用 GatherReadyWALFiles,并以 issue 中 ten-WAL、maxParallel=3 的场景作为参考。完成的标准是:连续的 archive_command 运行会以并行度大小的分组上传不同的批次,避免重复上传已归档的 WAL,并在没有剩余文件时成功退出。
由索引模型根据 Issue 内容生成。
描述
Say you have 10 WAL files ready for archiving and maxParallel is set to 3.
- PG runs
archive_commandfor WAL file 1:- barman-plugin looks at ready files and run the archiver for WAL 1, 2 and 3.
- Those 3 files are uploaded to the archive.
- Command exits successfully and PG marks WAL 1 as done.
- Then PG runs
archive_commandfor WAL file 2:- barman-plugin looks are ready file and runs the archiver for WAL 2, 3 and 4
- WAL file 2 and 3 are already archived.
- WAL file 4 is uploaded to the archive.
- Command exits successfully and PG marks WAL 2 as done.
- And so on, PG archives WAL file 3 and barman-plugin uploads WAL file 5.
This results in always uploading one single WAL file at a time which is pretty slow and is contrary to what the doc says: “Number of WAL files to be […] archived in parallel”.
What I would expect to happen is:
- PG runs
archive_commandfor WAL file 1:- WAL file 1, 2 and 3 are uploaded
- WAL file 1 is marked as done
- PG runs
archive_commandfor WAL file 2:- WAL file 4, 5, 6 are uploaded
- WAL file 2 is marked as done
- And so on until there are no more files to upload and the
archive_commandsimply exits successfully without doing anything.
I think this happens because internalRun does not pass WALs that have already been archived to GatherReadyWALFiles: https://github.com/cloudnative-pg/plugin-barman-cloud/blob/376e178ab5ea907aae50e6eaeb19215ec4326c53/internal/cnpgi/common/wal.go#L206.
- 主要语言
- Go
- 星标
- 198
- 派生
- 81
- 平均合并
- 2 天 6 小时
- 30 天内合并 PR
- 19
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
cloudnative-pg/plugin-barman-cloud 的其他 Issue
-
Wrong `ObjectStore` key logged when the backup object store can't be retrieved in the instance sidecar可能已有人在做 @SamarthSRao 于 5 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 88/100
cloudnative-pg/plugin-barman-cloud#1142 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 88/100
cloudnative-pg/plugin-barman-cloud#1117 · 1 个 reaction ·
维护者通常 1 天内回复
-
data.compression rejects zstd although barman-cloud-backup supports it可能已有人在做 @dgsardina 于 7 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 86/100
cloudnative-pg/plugin-barman-cloud#1104 · 4 个 reaction ·
维护者通常 1 天内回复
-
Add RBAC aggregation labels to ObjectStore editor/viewer ClusterRoles可能已有人在做 @stefanpeknik 于 25 天前认领。 未关闭
难度 1/5 1 小时以内 新手友好度 82/100
cloudnative-pg/plugin-barman-cloud#1102 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 18/100
cloudnative-pg/plugin-barman-cloud#1151 ·
维护者通常 1 天内回复
查看 cloudnative-pg/plugin-barman-cloud 的全部 Issue
相似的 Issue
-
product/backlog
难度 2/5 1-3 小时 新手友好度 75/100
TencentBlueKing/bk-nodemgr#3645 ·
维护者通常 1 天内回复
-
agent-butler-finding chore
难度 2/5 1-3 小时 新手友好度 78/100
jordansmall/spindrift#5128 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 84/100
维护者通常 2 天内回复
-
License GOtome under Apache 2.0 instead of AGPL-3.0可能已有人在做 @praetorianer777 今天认领。 未关闭area:workflow documentation
难度 2/5 1-3 小时 新手友好度 84/100
praetorianer777/GoTome#212 ·
维护者通常 1 天内回复
-
ci: pin Go version in Build and Unit Test workflows (>=1.26.6 floats to 1.27.2 and breaks golangci-lint)可能已有人在做 @leninmehedy 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 87/100
hashgraph/solo-weaver#1255 ·
维护者通常 1 天内回复