impala-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wang, Youwei A" <>
Subject Symbol not found issue when working on IMPALA-3504
Date Thu, 12 May 2016 13:16:06 GMT
Greetings All. I am working on IMPALA-3504 right now.
This JIRA basically wants to implement a UDF timestamp function. Following is my process when
working on this JIRA:

1. Back-end source code:
I have added an function entry in the file timestamp-functions.h:
static TimestampVal UtcTimestamp(FunctionContext* context);
and added corresponding implementation in the file

2. Build back-end:
And after that, I first build impalad binary using script.
After the impalad binary is generated, I run Linux "strings" command to get the binary signature
of the function like: _ZN6impala18TimestampFunctions12UtcTimestampEPN10impala_udf15FunctionContextE.
And this entry is also added to the Impala/common/function-registry/ file
  [['utc_timestamp'], 'TIMESTAMP', [], '_ZN6impala18TimestampFunctions12UtcTimestampEPN10impala_udf15FunctionContextE'],

3. Overall build:
Then I execute the script to initiate build all front-end, back-end and third-party

When the build process is done, I use the command:"  -r --build_type=debug"
to start the Impala cluster. However, the impalad process fails to run due to the error which
is copied from Impala/logs/cluster/impalad.INFO:

I0512 20:35:46.621750 31842] Physical Memory: 11.69 GB
I0512 20:35:46.621752 31842] OS version: Linux version 4.5.3 (root@debian) (gcc
version 4.9.2 (Debian 4.9.2-10) ) #1 SMP Tue May 10 09:19:36 EDT 2016
Clock: clocksource: 'tsc', clockid_t: CLOCK_MONOTONIC
I0512 20:35:46.621754 31842] Process ID: 31842
I0512 20:35:47.307698 31842] Kudu is not supported on this operating system.
    @          0x10de550  impala::Status::Status()
    @          0x10e1984  impala::CheckKuduAvailability()
    @          0x10e18f7  impala::KuduIsAvailable()
    @          0x10d89c1  impala::InitCommonRuntime()
    @          0x1446db1  ImpaladMain()
    @          0x1088720  main
    @     0x7f214e93ab45  (unknown)
    @          0x108859c  (unknown)
I0512 20:35:47.689296 31842] Detected HBase version >= 0.95.2
I0512 20:35:47.700866 31842] Logging initialized. Impala: VLOG, All
other: INFO
I0512 20:35:47.702227 31842] Authorization is 'DISABLED'.
I0512 20:35:47.702286 31842] Java Version Info: Java(TM) SE Runtime Environment
W0512 20:35:47.871737 31842] HiveConf of name hive.access.conf.url does
not exist
I0512 20:35:47.958432 31842] Could not find symbol '_ZN6impala18TimestampFunctions12UtcTimestampEPN10impala_udf15FunctionContextE'
Unable to find _ZN6impala18TimestampFunctions12UtcTimestampEPN10impala_udf15FunctionContextE
dlerror: /root/Impala/be/build/debug/service/impalad: undefined symbol: _ZN6impala18TimestampFunctions12UtcTimestampEPN10impala_udf15FunctionContextE
F0512 20:35:47.959112 31842] java.lang.RuntimeException: Builtin symbol '_ZN6impala18TimestampFunctions12UtcTimestampEPN10impala_udf15FunctionContextE'[]
not found!
            at com.cloudera.impala.catalog.ScalarFunction.createBuiltin(
            at com.cloudera.impala.catalog.Db.addScalarBuiltin(
            at com.cloudera.impala.catalog.Db.addScalarBuiltin(
            at com.cloudera.impala.builtins.ScalarBuiltins.initBuiltins(
            at com.cloudera.impala.catalog.BuiltinsDb.initBuiltins(
            at com.cloudera.impala.catalog.BuiltinsDb.<init>(
            at com.cloudera.impala.catalog.Catalog.<init>(
            at com.cloudera.impala.catalog.ImpaladCatalog.<init>(
            at com.cloudera.impala.service.Frontend.<init>(
            at com.cloudera.impala.service.JniFrontend.<init>(
Caused by: com.cloudera.impala.common.AnalysisException: Could not find symbol '_ZN6impala18TimestampFunctions12UtcTimestampEPN10impala_udf15FunctionContextE'
            at com.cloudera.impala.catalog.Function.lookupSymbol(
            at com.cloudera.impala.catalog.ScalarFunction.createBuiltin(
            ... 9 more

This is really weird since such symbol "ZN6impala18TimestampFunctions12UtcTimestampEPN10impala"
is indeed in the impalad binary and I have double-checked that. Actually I have some successful
experience of developing some UDF before. So this issue really makes me feel confused. I have
removed all built binaries and replay the steps above. This issue still remains there.

Thank you so much for any advice or hint. :)

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message