Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

ObjectStore’s maxParallel doesn’t actually increase the number of parallel uploads

Aperta
#820 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
62/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
go, postgresql
Ambito
backend, databases

Direzione di ricerca

Inizia da internalRun in internal/cnpgi/common/wal.go e verifica come chiama GatherReadyWALFiles, usando come guida lo scenario dell’issue con dieci WAL e maxParallel=3. Il lavoro è completato quando esecuzioni successive di archive_command caricano batch distinti in gruppi delle dimensioni del parallelismo, evitano di ricaricare i WAL archiviati e terminano correttamente quando non rimangono file.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

Say you have 10 WAL files ready for archiving and maxParallel is set to 3.

  • PG runs archive_command for 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_command for 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_command for WAL file 1:
    • WAL file 1, 2 and 3 are uploaded
    • WAL file 1 is marked as done
  • PG runs archive_command for 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_command simply 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.

Lingua principale
Go
Stelle
192
Fork
75
Merge medio
1g 4h
PR unite (30g)
15

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di cloudnative-pg/plugin-barman-cloud

Tutte le issue di cloudnative-pg/plugin-barman-cloud

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.