[ 
https://issues.apache.org/jira/browse/IMPALA-8710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16880137#comment-16880137
 ] 

Daniel Becker commented on IMPALA-8710:
---------------------------------------

The problem was the following:

The benchmarks showed that trying to read 64 bits instead of 32 bits when 
possible produced better results. The strange behaviour with odd bit widths 
between 9 and 16 does not occur if we try to read 64 bits.

The buffer overflow occurs if we are not reading a full batch of 32 values but 
up to 31 values because in that case the buffer may be shorter than the code 
expects. By introducing a template parameter indicating whether it is a full 
batch read, we can keep the efficiency in the full batch case and avoid the 
buffer overflow in the "up to 31 values" case by falling back to reading 32 
bits. The benchmarks show that the performance is about the same as the 
original for bit widths 0-12 and better afterwards.

> Increase allowed bit width to 64 for bit packing
> ------------------------------------------------
>
>                 Key: IMPALA-8710
>                 URL: https://issues.apache.org/jira/browse/IMPALA-8710
>             Project: IMPALA
>          Issue Type: Sub-task
>          Components: Backend
>            Reporter: Daniel Becker
>            Assignee: Daniel Becker
>            Priority: Major
>
> Increase the allowed bit width for bit packing and bit unpacking to 64
>  bits. ThisĀ isĀ needed to support Parquet Delta Encoding.
>  
> Also add new methods to BitWriter and BatchedBitReader handling Uleb and
>  ZigZag integers for 64 bits.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to