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

Multi-aggregation functions cause a crash

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Resolved
    • Impala 3.4.0
    • Impala 4.0.0
    • Backend
    • None
    • centos
    • Important
    • ghx-label-9

    Description

      A query with multi-aggregation functions cause a crash.I update the version to 3.4.0 and update the code as IMPALA-9809 and compiled.But still cause the bug.

      Log:

      // code placeholder
      
      
      
      A fatal error has been detected by the Java Runtime Environment:
      #
       SIGSEGV (0xb) at pc=0x000000000152e2d8, pid=6301, tid=0x00007f5c425a1700
      #
      JRE version: Java(TM) SE Runtime Environment (8.0_202-b08) (build 1.8.0_202-b08)
      Java VM: Java HotSpot(TM) 64-Bit Server VM (25.202-b08 mixed mode linux-amd64 compressed oops)
      Problematic frame:
      C  [impalad+0x112e2d8]  impala::AggFnEvaluator::SerializeOrFinalize(impala::Tuple*, impala::SlotDescriptor const&, impala::Tuple*, void*)+0x48
      #
      Core dump written. Default location: /var/lib/impala/core or core.6301
      #
      An error report file with more information is saved as:
      /var/lib/impala/hs_err_pid6301.log
      #
      If you would like to submit a bug report, please visit:
        http://bugreport.java.com/bugreport/crash.jsp
       

      Sql:

      // code placeholder
        select
          cast(types AS string) AS types,
          bn,
          max(mb) as mb
      from
          (
              select
                  case
                      when sn in('a') then '2'
                  end as types,
                  bn,
                  sn,
                  tid,
                  max(m1) as m1,
                  max(rm) as mb,
                  max(day) as day,
                  max(tpm) as tpm,
                  sum(if(rf is null, 0, rf)) as rf,
                  sum(num) as num,
                  max(
                      tpm - if(rf is null, 0, rf)
                  ) as mtpmr,
                  count(if(rf is not null, oid, null)) as rc,
                  min(created) as min_created,
                  max(created) as max_created,
                  min(paytime) as min_paytime,
                  max(paytime) as max_paytime
              from
                  td.tdn
              where
                  mainsn = 'a'
                  and bn != ''
                  and sn in('a')
              group by
                  sn,
                  bn,
                  tid
          ) as allresult
      group by
          bn,
          types,
      having
          ((sum(tpm) = 687.15))
          and (((sum(tpm) - sum(rf)) = 687.15))
          and ((count(distinct(day)) = 3))
          and ((count(distinct(tid)) = 3))
          and ((sum(num) = 9))
          and ((sum(rf) = 0))
          and ((sum(rc) = 0))
          and (
              (
                  min(min_created) >= '2021-11-02 00:00:00'
                  and min(min_created) <= '2021-11-02 23:00:00'
              )
          )
          and (
              (
                  (sum(tpm) / count(distinct(day))) >= 229.05
              )
          )

       

      if I query  `max(mb) as mb` with having clause ,will crash.

      if I delete one of these two,will not crash.

      it seems like IMPALA-9809  but I have already fix it ,still cause crash.

      Attachments

        Activity

          People

            Unassigned Unassigned
            MadBeeDo Pain Sun
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 168h
                168h
                Remaining:
                Remaining Estimate - 168h
                168h
                Logged:
                Time Spent - Not Specified
                Not Specified