Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-5597

IllegalStateException in RuntimeFilterGenerator.computeTargetExpr() with left join

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Impala 2.10.0
    • Fix Version/s: Impala 2.11.0
    • Component/s: Frontend
    • Labels:
      None

      Description

      This query on tpch_parquet throws an IllegalStateException for me on master commit dbd596bebbd4ed2e4a34ca0aa14a8a9bfcca8c62

      select * 
      from tpch_parquet.lineitem 
      left join tpch_parquet.part on if(l_orderkey % 2 = 0, NULL, l_partkey) = p_partkey
      where l_orderkey = 965 and l_extendedprice * l_tax = p_retailprice;
      

      Output from impalad.INFO is:

      I0628 13:52:30.222602 18838 Frontend.java:931] Compiled query.
      I0628 13:52:30.289227 18838 jni-util.cc:176] java.lang.IllegalStateException
              at com.google.common.base.Preconditions.checkState(Preconditions.java:129)
              at org.apache.impala.planner.RuntimeFilterGenerator.computeTargetExpr(RuntimeFilterGenerator.java:596)
              at org.apache.impala.planner.RuntimeFilterGenerator.assignRuntimeFilters(RuntimeFilterGenerator.java:551)
              at org.apache.impala.planner.RuntimeFilterGenerator.generateFilters(RuntimeFilterGenerator.java:487)
              at org.apache.impala.planner.RuntimeFilterGenerator.generateFilters(RuntimeFilterGenerator.java:480)
              at org.apache.impala.planner.RuntimeFilterGenerator.generateRuntimeFilters(RuntimeFilterGenerator.java:411)
              at org.apache.impala.planner.Planner.createPlan(Planner.java:120)
              at org.apache.impala.service.Frontend.createExecRequest(Frontend.java:1008)
              at org.apache.impala.service.Frontend.createExecRequest(Frontend.java:1104)
              at org.apache.impala.service.JniFrontend.createExecRequest(JniFrontend.java:156)
      I0628 13:52:30.330711 18838 status.cc:122] IllegalStateException: null
          @          0x125d6c5  impala::Status::Status()
          @          0x1654f54  impala::JniUtil::GetJniExceptionMsg()
          @          0x150d280  impala::JniUtil::CallJniMethod<>()
          @          0x1509755  impala::Frontend::GetExecRequest()
          @          0x1528b9e  impala::ImpalaServer::ExecuteInternal()
          @          0x1528718  impala::ImpalaServer::Execute()
          @          0x1592daa  impala::ImpalaServer::query()
          @          0x1a8ca54  beeswax::BeeswaxServiceProcessor::process_query()
          @          0x1a8c7a2  beeswax::BeeswaxServiceProcessor::dispatchCall()
          @          0x1a750a1  impala::ImpalaServiceProcessor::dispatchCall()
          @          0x1204d6e  apache::thrift::TDispatchProcessor::process()
          @          0x29230cb  apache::thrift::server::TThreadPoolServer::Task::run()
          @          0x290ba49  apache::thrift::concurrency::ThreadManager::Worker::run()
          @          0x13ca54d  impala::ThriftThread::RunRunnable()
          @          0x13cbc79  boost::_mfi::mf2<>::operator()()
          @          0x13cbb0f  boost::_bi::list3<>::operator()<>()
          @          0x13cb85b  boost::_bi::bind_t<>::operator()()
          @          0x13cb76e  boost::detail::function::void_function_obj_invoker0<>::invoke()
          @          0x13da2d8  boost::function0<>::operator()()
          @          0x16ae059  impala::Thread::SuperviseThread()
          @          0x16b69c8  boost::_bi::list4<>::operator()<>()
          @          0x16b690b  boost::_bi::bind_t<>::operator()()
          @          0x16b68ce  boost::detail::thread_data<>::run()
          @          0x1ba1bda  thread_proxy
          @     0x7faf6df5a6ba  start_thread
          @     0x7faf6e48c82d  clone
      

      If I remove the multiplication in the where clause I don't see this:

      select * 
      from tpch_parquet.lineitem 
      left join tpch_parquet.part on if(l_orderkey % 2 = 0, NULL, l_partkey) = p_partkey
      where l_orderkey = 965 and l_extendedprice = p_retailprice;
      

        Attachments

          Activity

            People

            • Assignee:
              tianyiwang Tianyi Wang
              Reporter:
              tarmstrong Tim Armstrong
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: