Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#820 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
62/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
go, postgresql

Línea de trabajo

Comienza en internalRun en internal/cnpgi/common/wal.go e inspecciona cómo llama a GatherReadyWALFiles, usando como guía el escenario del issue con diez WAL y maxParallel=3. Se considera terminado cuando ejecuciones sucesivas de archive_command suben lotes distintos en grupos del tamaño del paralelismo, evitan volver a subir los WAL archivados y finalizan correctamente cuando no quedan archivos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Go
Estrellas
198
Forks
81
Merge medio
2 d 6 h
PR fusionados (30 d)
19

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de cloudnative-pg/plugin-barman-cloud

Todos los issues de cloudnative-pg/plugin-barman-cloud

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.