You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Yuchen Fan (Jira)" <ji...@apache.org> on 2022/07/21 08:36:00 UTC

[jira] [Created] (IMPALA-11449) C++ UDF built in Impala-2.12/3.4 can't be loaded in Impala-4.1

Yuchen Fan created IMPALA-11449:
-----------------------------------

             Summary: C++ UDF built in Impala-2.12/3.4 can't be loaded in Impala-4.1
                 Key: IMPALA-11449
                 URL: https://issues.apache.org/jira/browse/IMPALA-11449
             Project: IMPALA
          Issue Type: Improvement
    Affects Versions: Impala 4.1.0
            Reporter: Yuchen Fan


After upgrade Impala from 3.4 to 4.1, we found that C++ UDFs built in previous Impala cannot be used in 4.1. Some symbols of Boost required by UDF shared library are difference from 3.4. We think it may be relation with IMPALA-11005. Some symbols is changed bacause of Boost is upgraded to 1.74. Errors is shown below.
{code:java}
Create execute plan failed :
org.apache.impala.common.AnalysisException: Could not load binary: hdfs://xxx/libimpala-udfs-34.so
Unable to load /xxx/libimpala-udfs-34.59000.36.so
dlerror: /xxx/libimpala-udfs-34.59000.36.so: undefined symbol: _ZN5boost9gregorian10greg_month17get_month_map_ptrEv        at org.apache.impala.catalog.Function.lookupSymbol(Function.java:482)
        at org.apache.impala.analysis.CreateUdfStmt.analyze(CreateUdfStmt.java:92)
        at org.apache.impala.analysis.AnalysisContext.analyze(AnalysisContext.java:510)
        at org.apache.impala.analysis.AnalysisContext.analyzeAndAuthorize(AnalysisContext.java:468)
        at org.apache.impala.service.Frontend.doCreateExecRequest(Frontend.java:2037)
        at org.apache.impala.service.Frontend.getTExecRequest(Frontend.java:1945)
        at org.apache.impala.service.Frontend.createExecRequest(Frontend.java:1769)
        at org.apache.impala.service.Frontend$4.run(Frontend.java:2735)
        at org.apache.impala.service.Frontend$4.run(Frontend.java:2731)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:360)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1864)
        at org.apache.impala.service.Frontend.createExecRequestWithProxy(Frontend.java:2731)
        at org.apache.impala.service.JniFrontend.createExecRequest(JniFrontend.java:195)    @           0xea7dc1  impala::Status::Status()
    @          0x1830d65  impala::JniUtil::GetJniExceptionMsg()
    @          0x152c2db  impala::Frontend::GetExecRequest()
    @          0x1ddbb62  impala::QueryDriver::RunFrontendPlanner()
    @          0x15a8b8f  impala::ImpalaServer::ExecuteInternal()
    @          0x15aa4ab  impala::ImpalaServer::Execute()
    @          0x16d6d16  impala::ImpalaServer::query()
    @          0x15ff445  beeswax::BeeswaxServiceProcessorT<>::process_query()
    @          0x167a925  beeswax::BeeswaxServiceProcessorT<>::dispatchCall()
    @          0x167aed4  impala::ImpalaServiceProcessorT<>::dispatchCall()
    @           0xd9cc06  apache::thrift::TDispatchProcessor::process()
    @          0x12a08ae  apache::thrift::server::TAcceptQueueServer::Task::run()
    @          0x128d8fc  impala::ThriftThread::RunRunnable()
    @          0x129007d  boost::detail::function::void_function_obj_invoker0<>::invoke()
    @          0x191a327  impala::Thread::SuperviseThread()
    @          0x191d498  boost::detail::thread_data<>::run()
    @          0x23a4810  thread_proxy
    @     0x7f7f5c01de24  start_thread
    @     0x7f7f58aedbac  __clone
 {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)