feat(wal): parallel WAL archiving

Signed-off-by: MichaluxPL <68371308+MichaluxPL@users.noreply.github.com>
This commit is contained in:
MichaluxPL 2025-04-15 12:27:36 +02:00 committed by Armando Ruocco
parent ed1feaaddc
commit c9c691c383

View File

@ -107,7 +107,12 @@ func (w WALServiceImplementation) Archive(
if err != nil { if err != nil {
return nil, err return nil, err
} }
walList := arch.GatherWALFilesToArchive(ctx, request.GetSourceFileName(), 1) barmanConfiguration := &objectStore.Spec.Configuration
maxParallel := 1
if barmanConfiguration.Wal != nil && barmanConfiguration.Wal.MaxParallel > 1 {
maxParallel = barmanConfiguration.Wal.MaxParallel
}
walList := arch.GatherWALFilesToArchive(ctx, request.GetSourceFileName(), maxParallel)
result := arch.ArchiveList(ctx, walList, options) result := arch.ArchiveList(ctx, walList, options)
for _, archiverResult := range result { for _, archiverResult := range result {
if archiverResult.Err != nil { if archiverResult.Err != nil {