[
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)