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 "Kurt Deschler (Jira)" <ji...@apache.org> on 2020/11/17 01:50:00 UTC

[jira] [Created] (IMPALA-10331) Intermittent DROP FUNCTION ERROR: IllegalStateException: null

Kurt Deschler created IMPALA-10331:
--------------------------------------

             Summary: Intermittent DROP FUNCTION ERROR: IllegalStateException: null 
                 Key: IMPALA-10331
                 URL: https://issues.apache.org/jira/browse/IMPALA-10331
             Project: IMPALA
          Issue Type: Bug
          Components: Catalog
    Affects Versions: Impala 3.4.0
            Reporter: Kurt Deschler
            Assignee: Kurt Deschler


After executing a series of CREATE FUNCTION DDLs, the corresponding DROP FUNCTION DDLs will fail intermittently. The pattern is that functions beyond some point in the list are missing from Thrift object Database.parameters. It seems that the event processor is not keeping up with the CREATE FUNCTION DDLs and the the DROP FUNCTION DDLs are looking at an old version. See repro below.

Query: drop FUNCTION IF EXISTS test_udf(DECIMAL(38,38))
 Query: drop FUNCTION IF EXISTS test_udf(TINYINT)
 ERROR: IllegalStateException: null

Preconditions.checkState(boolean) line: 159 
 Db.removeFunction(Function) line: 333 
 CatalogServiceCatalog(Catalog).removeFunction(Function) line: 335 
 CatalogServiceCatalog.removeFunction(Function) line: 2031 
 CatalogOpExecutor.dropFunction(TDropFunctionParams, TDdlExecResponse) line: 2157 
 CatalogOpExecutor.execDdlRequest(TDdlExecRequest) line: 442 
 JniCatalog.execDdl(byte[]) line: 173

Repro:

Start impalad with local catalog:

$IMPALA_HOME/bin/start-impala-cluster.py -catalogd_args="catalog_topic_mode=minimal --hms_event_polling_interval_s=1" --impalad_args="use_local_catalog=true" --statestored_args="-statestore_update_frequency_ms=100"

Compile UDF shared library from attachment:

  g++ shared -I$IMPALA_HOME/toolchain/boost$IMPALA_BOOST_VERSION/include -o test_udf.so test_udf.cc

Upload UDF shared library to HDFS:

  hdfs dfs -copyFromLocal test_udf.so /tmp/test_udf.so

Execute SQL attachment in a loop:

while [ 1 ]; do is -i localhost:21001 -f ~/test_udf.sql | tee -a test_sql.out; done



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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