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

Or Ozeri commented on PARQUET-1692:
-----------------------------------

This appears to be a bug caused by using a thrift compiler of version 0.9.3 or 
lower.

With Thrift Compiler 0.10.0+ you get:
void LogicalType::__set_INTEGER(const IntType& val) {
    this->INTEGER = val;
    __isset.INTEGER = true;
}

Whereas in Thrift Compiler 0.9.3 you get:

void LogicalType::__set_INTEGER(const IntType& val) {
 this->INTEGER = val;
}

 

Note that __isset.INTEGER is not set to true, and thus we get the "Metadata 
contains Thrift LogicalType that is not recognized".

 

There are 2 problems that needs to be fixed:
 # The build needs to require Thrift 0.10.0.
This means changing "resolve_dependency(Thrift)" to 
"resolve_dependency_with_version(Thrift 0.10.0)" in 
cpp/cmake_modules/ThirdpartyToolchain.cmake.
 # The already built packages (such as centos RPMs) needs to be rebuilt on a 
system that is verified to have either (no thrift installed) or (thrift 0.10.0+ 
installed).

> [C++] LogicalType::FromThrift error on Centos 7 RPM
> ---------------------------------------------------
>
>                 Key: PARQUET-1692
>                 URL: https://issues.apache.org/jira/browse/PARQUET-1692
>             Project: Parquet
>          Issue Type: Bug
>          Components: parquet-cpp
>            Reporter: Or Ozeri
>            Priority: Major
>         Attachments: Dockerfile, runner.sh, test.cpp
>
>
> When using FileMetaDataBuilder with a PrimitiveNode with converted type 
> INT_64, we get the following exception message:
> "Metadata contains Thrift LogicalType that is not recognized"
>  
> This happens when using the Centos 7 RPMs.
>  
> See attached Dockerfile which reproduces the bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to