From a1c57b1c7556e842d005ae9d05914c35f9a504b5 Mon Sep 17 00:00:00 2001 From: Arthur Passos Date: Sat, 15 Nov 2025 20:43:14 +0100 Subject: [PATCH] process chunks in order --- .../Formats/Impl/ParquetBlockOutputFormat.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Processors/Formats/Impl/ParquetBlockOutputFormat.cpp b/src/Processors/Formats/Impl/ParquetBlockOutputFormat.cpp index 0c86689e8bdc..fc94cedfc00d 100644 --- a/src/Processors/Formats/Impl/ParquetBlockOutputFormat.cpp +++ b/src/Processors/Formats/Impl/ParquetBlockOutputFormat.cpp @@ -306,13 +306,17 @@ void ParquetBlockOutputFormat::writeRowGroup(std::vector chunks) else { Chunk concatenated; - while (!chunks.empty()) + for (auto & chunk : chunks) { if (concatenated.empty()) - concatenated.swap(chunks.back()); + { + concatenated.swap(chunk); + } else - concatenated.append(chunks.back()); - chunks.pop_back(); + { + concatenated.append(chunk); + chunk.clear(); // free chunk's buffers so memory is release earlier + } } writeRowGroupInOneThread(std::move(concatenated)); }