[ 
https://issues.apache.org/jira/browse/PARQUET-739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Wes McKinney resolved PARQUET-739.
----------------------------------
    Resolution: Fixed

Issue resolved by pull request 177
[https://github.com/apache/parquet-cpp/pull/177]

> Rle-decoding uses static buffer that is shared accross threads
> --------------------------------------------------------------
>
>                 Key: PARQUET-739
>                 URL: https://issues.apache.org/jira/browse/PARQUET-739
>             Project: Parquet
>          Issue Type: Bug
>          Components: parquet-cpp
>            Reporter: Florian Scheibner
>            Assignee: Deepak Majeti
>             Fix For: cpp-0.1
>
>
> Reading two parquet files in parallel lead to a memory corruption that caused 
> a crash. The columns are rle dictionary encoded strings in an uncompressed 
> page, created with parquet-mr. 
> Initial debugging showed that the indices for the dictionary returned by the 
> rle decoder are garbage. So that data page got corrupted in memory. Reading 
> the files in one thread works.
> I have a ColumnReader for each column and read one element from reach column 
> to get a complete row.
> The indices are decoded into one global static buffer. So multiple threads 
> all use the same buffer and overwrite each other's indices.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to