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)