You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@orc.apache.org by GitBox <gi...@apache.org> on 2022/01/12 15:25:22 UTC

[GitHub] [orc] wgtmac commented on a change in pull request #1008: ORC-1087: [C++] Handle unloaded seek positions when seeking in an uncompressed chunk

wgtmac commented on a change in pull request #1008:
URL: https://github.com/apache/orc/pull/1008#discussion_r783179137



##########
File path: c++/src/Compression.cc
##########
@@ -533,24 +545,37 @@ DIAGNOSTIC_PUSH
   }
 
   /** There are three possible scenarios when seeking a position:
-   * 1. The seeked position is already read and decompressed into
-   *    the output stream.
-   * 2. It is already read from the input stream, but has not been
-   *    decompressed yet, ie. it's not in the output stream.
-   * 3. It is not read yet from the inputstream.
+   * 1. The chunk of the seeked position is already read and decompressed into the output
+   *    stream, ie. chunk header is read and chunk contents are in the output stream.
+   * 2. The chunk of the seeked position is partially read. This only happens for

Review comment:
       The root cause is in line 495 where DecompressionStream::Next only reads availableSize but not the full uncompressed chunk. So another fix is to enforce read full uncompressed chunk there.
   

##########
File path: c++/src/Compression.cc
##########
@@ -533,24 +545,37 @@ DIAGNOSTIC_PUSH
   }
 
   /** There are three possible scenarios when seeking a position:

Review comment:
       **four** possible scenarios




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@orc.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org