You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Tim Armstrong (JIRA)" <ji...@apache.org> on 2018/06/11 19:49:00 UTC

[jira] [Resolved] (IMPALA-2827) Frontend does not compile with Thrift 0.9.3

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

Tim Armstrong resolved IMPALA-2827.
-----------------------------------
    Resolution: Duplicate

> Frontend does not compile with Thrift 0.9.3
> -------------------------------------------
>
>                 Key: IMPALA-2827
>                 URL: https://issues.apache.org/jira/browse/IMPALA-2827
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Infrastructure
>    Affects Versions: Impala 2.5.0
>            Reporter: Martin Grund
>            Priority: Minor
>              Labels: osx
>
> Impala on Mac cannot use Thrift 0.9.0 and we have to move to a higher version. The latest release is 0.9.3 and for unkown reasons this breaks compilation of our Java frontend.
> The compile error can be very easily fixed by removing some of the generated code that tries to Implement an asynchronous interface, however the root cause seems to be something else. It probably is related to the interface that is provided by Hive for the HS2 interface.
> {code}
> [INFO] -------------------------------------------------------------
> [INFO] -------------------------------------------------------------
> [ERROR] COMPILATION ERROR :
> [INFO] -------------------------------------------------------------
> [ERROR] /Users/mgrund/Impala/fe/generated-sources/gen-java/com/cloudera/impala/thrift/ImpalaHiveServer2Service.java:[264,114] cannot find symbol
>   symbol:   class AsyncProcessor
>   location: class org.apache.hive.service.cli.thrift.TCLIService
> [INFO] 1 error
> {code}
> Digging deeper the reason is pretty simple, that the Hive code that we use to Import the {{TCLIService}} does simply not contain the async part since it was not generated with Thrift 0.9.3.
> Here is the necessary code in the Impala build:
> {code}
> IF (FIL STREQUAL "TCLIService.thrift" OR FIL STREQUAL "parquet.thrift" OR
>         FIL STREQUAL "cli_service.thrift")
>       # HiveServer2 and Parquet thrift generation
>       # Do not generate Java source because we should use the jar from Hive or Parquet
>       add_custom_command(
>         OUTPUT ${OUTPUT_BE_FILE}
>         COMMAND ${THRIFT_COMPILER} ${CPP_ARGS} ${FIL}
>         COMMAND ${THRIFT_COMPILER} ${PYTHON_ARGS} ${FIL}
>         DEPENDS ${ABS_FIL}
>         COMMENT "Running thrift compiler on ${FIL}"
>         VERBATIM
>       )
> {code}



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

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