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/19 01:00:00 UTC

[jira] [Created] (IMPALA-11029) DescriptorTable.copyTupleDescriptor throw exception for Kudu table

Wenzhe Zhou created IMPALA-11029:
------------------------------------

             Summary: 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
             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