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 "Wenzhe Zhou (Jira)" <ji...@apache.org> on 2021/11/24 16:39:00 UTC
[jira] [Resolved] (IMPALA-11029) DescriptorTable.copyTupleDescriptor throw exception for Kudu table
[ https://issues.apache.org/jira/browse/IMPALA-11029?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wenzhe Zhou resolved IMPALA-11029.
----------------------------------
Target Version: Impala 4.1.0
Resolution: Fixed
Impala hit this issue when accessing Kudu tables with analytic function query.
> DescriptorTable.copyTupleDescriptor throw exception for Kudu table
> ------------------------------------------------------------------
>
> Key: IMPALA-11029
> URL: https://issues.apache.org/jira/browse/IMPALA-11029
> Project: IMPALA
> Issue Type: Bug
> Components: Frontend
> Reporter: Wenzhe Zhou
> Assignee: Wenzhe Zhou
> Priority: Major
> Fix For: Impala 4.1.0
>
>
> This is a customer reported bug. In the case, planner throw exception with following stack trace:
> I1115 07:52:39.779211 14750 jni-util.cc:286] 4a467bd0ffba8c4b:0ce1e98a00000000] java.lang.IllegalStateException
> at com.google.common.base.Preconditions.checkState(Preconditions.java:492)
> at org.apache.impala.analysis.DescriptorTable.copyTupleDescriptor(DescriptorTable.java:85)
> at org.apache.impala.planner.AnalyticEvalNode.constructEqExprs(AnalyticEvalNode.java:184)
> at org.apache.impala.planner.AnalyticEvalNode.init(AnalyticEvalNode.java:158)
> at org.apache.impala.planner.AnalyticPlanner.createSortGroupPlan(AnalyticPlanner.java:495)
> at org.apache.impala.planner.AnalyticPlanner.createSingleNodePlan(AnalyticPlanner.java:139)
> at org.apache.impala.planner.SingleNodePlanner.createQueryPlan(SingleNodePlanner.java:295)
> at org.apache.impala.planner.SingleNodePlanner.createSingleNodePlan(SingleNodePlanner.java:170)
> at org.apache.impala.planner.Planner.createPlanFragments(Planner.java:120)
> at org.apache.impala.planner.Planner.createPlans(Planner.java:249)
> at org.apache.impala.service.Frontend.createExecRequest(Frontend.java:1562)
> at org.apache.impala.service.Frontend.getPlannedExecRequest(Frontend.java:1939)
> at org.apache.impala.service.Frontend.doCreateExecRequest(Frontend.java:1779)
> at org.apache.impala.service.Frontend.getTExecRequest(Frontend.java:1644)
> at org.apache.impala.service.Frontend.createExecRequest(Frontend.java:1614)
> at org.apache.impala.service.JniFrontend.createExecRequest(JniFrontend.java:164)
> I1115 07:52:39.779265 14750 status.cc:129] 4a467bd0ffba8c4b:0ce1e98a00000000] IllegalStateException: null
> @ 0x1f94ad9 impala::Status::Status()
> @ 0x297e8ed impala::JniUtil::GetJniExceptionMsg()
> @ 0x26b4180 impala::JniCall::Call<>()
> @ 0x26b0c07 impala::JniUtil::CallJniMethod<>()
> @ 0x26aec22 impala::Frontend::GetExecRequest()
> @ 0x30dda65 impala::QueryDriver::RunFrontendPlanner()
> @ 0x2713244 impala::ImpalaServer::ExecuteInternal()
> @ 0x2712791 impala::ImpalaServer::Execute()
> @ 0x285f9f4 impala::ImpalaServer::ExecuteStatementCommon()
> @ 0x2860895 impala::ImpalaServer::ExecuteStatement()
> @ 0x27727c7 apache::hive::service::cli::thrift::TCLIServiceProcessorT<>::process_ExecuteStatement()
> @ 0x27f4161 apache::hive::service::cli::thrift::TCLIServiceProcessorT<>::dispatchCall()
> @ 0x27f3d58 impala::ImpalaHiveServer2ServiceProcessorT<>::dispatchCall()
> @ 0x1e6ee6f apache::thrift::TDispatchProcessor::process()
> @ 0x2348784 apache::thrift::server::TAcceptQueueServer::Task::run()
> @ 0x233bfea impala::ThriftThread::RunRunnable()
> @ 0x233d606 boost::_mfi::mf2<>::operator()()
> @ 0x233d49a boost::_bi::list3<>::operator()<>()
> @ 0x233d1f0 boost::_bi::bind_t<>::operator()()
> @ 0x233d0b9 boost::detail::function::void_function_obj_invoker0<>::invoke()
> @ 0x22ab5cd boost::function0<>::operator()()
> @ 0x2a76d5e impala::Thread::SuperviseThread()
> @ 0x2a7f6ae boost::_bi::list5<>::operator()<>()
> @ 0x2a7f5d2 boost::_bi::bind_t<>::operator()()
> @ 0x2a7f593 boost::detail::thread_data<>::run()
> @ 0x43763b0 thread_proxy
> @ 0x7fd8ae06bea4 start_thread
> @ 0x7fd8aa9df9fc __clone
>
> The bug could be reproduced in Impala upstream with following queries:
> create database mydb;
> CREATE TABLE mydb.my_tab1 (
> id1 INT NOT NULL,
> agrmt INT NOT NULL,
> big_id BIGINT NOT NULL,
> outdated_flag STRING NOT NULL,
> mod_ts TIMESTAMP NOT NULL,
> PRIMARY KEY (id1, agrmt)
> )
> PARTITION BY HASH (id1) PARTITIONS 2
> STORED AS KUDU;
> CREATE TABLE mydb.my_tab2 (
> cl_id INT NOT NULL,
> cl_agrmt INT NOT NULL,
> outdat STRING NULL,
> mod_dat TIMESTAMP NULL,
> PRIMARY KEY (cl_id, cl_agrmt)
> )
> PARTITION BY HASH (cl_id) PARTITIONS 2
> STORED AS KUDU;
> insert into mydb.my_tab1 (
> id1,
> agrmt,
> big_id,
> outdated_flag,
> mod_ts)
> select
> cl_id,
> cast(row_number() over(order by null) as int),
> cl_agrmt,
> 'Y',
> case when outdat='Y' and mod_dat is not null then mod_dat else now() end
> from mydb.my_tab2 i
> left join mydb.my_tab1 u
> on u.big_id=i.cl_agrmt
> left join (
> select id1, big_id
> from mydb.my_tab1
> group by id1, big_id) uu
> on uu.big_id=i.cl_agrmt
> where u.big_id is null;
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org