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

Crash running UNION of CHAR and STRING cols

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • Impala 2.0
    • Impala 2.0
    • None
    • None

    Description

      The query below causes a crash. If the JOIN is removed, the query runs fine.

      Query: select 'a'
      UNION ALL
      SELECT
      t1.char127_col AS char127_col_1
      FROM text_types t1
      INNER JOIN text_types t2 ON t2.string_col = t1.string_col
      Socket error 104: Connection reset by peer
      

      stack trace

      (gdb) bt
      #0  0x0000003a0ca32635 in raise () from /lib64/libc.so.6
      #1  0x0000003a0ca33e15 in abort () from /lib64/libc.so.6
      #2  0x00007fe36a375727 in os::abort(bool) ()
         from /opt/toolchain/sun-jdk-64bit-1.6.0.31/jre/lib/amd64/server/libjvm.so
      #3  0x00007fe36a4c8cc8 in VMError::report_and_die() ()
         from /opt/toolchain/sun-jdk-64bit-1.6.0.31/jre/lib/amd64/server/libjvm.so
      #4  0x00007fe36a37c0e5 in JVM_handle_linux_signal ()
         from /opt/toolchain/sun-jdk-64bit-1.6.0.31/jre/lib/amd64/server/libjvm.so
      #5  0x00007fe36a3783ee in signalHandler(int, siginfo*, void*) ()
         from /opt/toolchain/sun-jdk-64bit-1.6.0.31/jre/lib/amd64/server/libjvm.so
      #6  <signal handler called>
      #7  0x0000003a0ca89710 in memcpy () from /lib64/libc.so.6
      #8  0x0000000000f16622 in impala::RawValue::Write (value=0x5f9a0af, dst=0x6e76008, 
          type=..., pool=0x7b14320) at /data/9/query-gen/Impala/be/src/runtime/raw-value.cc:235
      #9  0x0000000000f16c94 in impala::RawValue::Write (value=0x5f9a0af, tuple=0x6e76000, 
          slot_desc=0x7a4e960, pool=0x7b14320)
          at /data/9/query-gen/Impala/be/src/runtime/raw-value.cc:310
      #10 0x00000000014e0a51 in impala::UnionNode::EvalAndMaterializeExprs (this=0x7a3dd40, 
          ctxs=std::vector of length 1, capacity 1 = {...}, const_exprs=false, 
          tuple=0x7fe2e6de3af0, row_batch=0x7fe2e6de3b50)
          at /data/9/query-gen/Impala/be/src/exec/union-node.cc:222
      #11 0x00000000014e0178 in impala::UnionNode::GetNext (this=0x7a3dd40, state=0x578f100, 
          row_batch=0x7fe2e6de3b50, eos=0x7fe2e6de3d3f)
          at /data/9/query-gen/Impala/be/src/exec/union-node.cc:135
      #12 0x00000000014a9263 in impala::PartitionedAggregationNode::Open (this=0x71242c0, 
          state=0x578f100)
          at /data/9/query-gen/Impala/be/src/exec/partitioned-aggregation-node.cc:232
      #13 0x00000000013c02f8 in impala::PlanFragmentExecutor::OpenInternal (this=0x65325d0)
          at /data/9/query-gen/Impala/be/src/runtime/plan-fragment-executor.cc:332
      #14 0x00000000013c0174 in impala::PlanFragmentExecutor::Open (this=0x65325d0)
          at /data/9/query-gen/Impala/be/src/runtime/plan-fragment-executor.cc:318
      

      Code

      void RawValue::Write(const void* value, Tuple* tuple, const SlotDescriptor* slot_desc,
                           MemPool* pool) {
        if (value == NULL) {
          tuple->SetNull(slot_desc->null_indicator_offset());
        } else {
          void* slot = tuple->GetSlot(slot_desc->tuple_offset());
          RawValue::Write(value, slot, slot_desc->type(), pool);
      

      Attachments

        Activity

          People

            skye Skye Wanderman-Milne
            caseyc casey
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: