You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by tu...@apache.org on 2022/08/18 19:15:18 UTC

[arrow-rs] branch master updated: Fix bug in page skipping (#2504)

This is an automated email from the ASF dual-hosted git repository.

tustvold pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/master by this push:
     new 526a2b837 Fix bug in page skipping (#2504)
526a2b837 is described below

commit 526a2b837f59007ee335f1082f5e1f3ffa7f6ce0
Author: Dan Harris <13...@users.noreply.github.com>
AuthorDate: Thu Aug 18 15:15:13 2022 -0400

    Fix bug in page skipping (#2504)
---
 parquet/src/file/serialized_reader.rs | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/parquet/src/file/serialized_reader.rs b/parquet/src/file/serialized_reader.rs
index 4c8951332..f3beb57c0 100644
--- a/parquet/src/file/serialized_reader.rs
+++ b/parquet/src/file/serialized_reader.rs
@@ -730,6 +730,7 @@ impl<R: ChunkReader> PageReader for SerializedPageReader<R> {
                 if let Some(buffered_header) = next_page_header.take() {
                     // The next page header has already been peeked, so just advance the offset
                     *offset += buffered_header.compressed_page_size as usize;
+                    *remaining_bytes -= buffered_header.compressed_page_size as usize;
                 } else {
                     let mut read =
                         self.reader.get_read(*offset as u64, *remaining_bytes)?;
@@ -1556,6 +1557,7 @@ mod tests {
             if i % 2 == 0 {
                 vec.push(column_page_reader.get_next_page().unwrap().unwrap());
             } else {
+                column_page_reader.peek_next_page().unwrap().unwrap();
                 column_page_reader.skip_next_page().unwrap();
             }
         }