StarRocks / starrocks

StarRocks, a Linux Foundation project, is a next-generation sub-second MPP OLAP database for full analytics scenarios, including multi-dimensional analytics, real-time analytics, and ad-hoc queries.
https://starrocks.io
Apache License 2.0
8.65k stars 1.75k forks source link

[sqlsmith]Full sort encounter big chunk overflow issue. #5969

Closed yongbingwang closed 2 years ago

yongbingwang commented 2 years ago

Steps to reproduce the behavior (Required)

  1. CREATE TABLE '...' tpch 100g.

    CREATE TABLE `tpch_100g_orders` (
    `O_ORDERKEY` int(11) NOT NULL COMMENT "",
    `O_CUSTKEY` int(11) NOT NULL COMMENT "",
    `O_ORDERSTATUS` char(1) NOT NULL COMMENT "",
    `O_TOTALPRICE` decimal64(15, 2) NOT NULL COMMENT "",
    `O_ORDERDATE` date NOT NULL COMMENT "",
    `O_ORDERPRIORITY` char(15) NOT NULL COMMENT "",
    `O_CLERK` char(15) NOT NULL COMMENT "",
    `O_SHIPPRIORITY` int(11) NOT NULL COMMENT "",
    `O_COMMENT` varchar(79) NOT NULL COMMENT ""
    ) ENGINE=OLAP
    DUPLICATE KEY(`O_ORDERKEY`)
    COMMENT "OLAP"
    DISTRIBUTED BY HASH(`O_ORDERKEY`) BUCKETS 12
    PROPERTIES (
    "replication_num" = "1",
    "in_memory" = "false",
    "storage_format" = "DEFAULT"
    );

    2.select

    select  
    case when ref_0.O_SHIPPRIORITY > cast(coalesce(ref_0.O_ORDERKEY,
        ref_0.O_SHIPPRIORITY) as INT) then unix_timestamp() else unix_timestamp() end
     as c0, 
    ref_0.O_CUSTKEY as c1, 
    ref_0.O_TOTALPRICE as c2, 
    ref_0.O_ORDERKEY as c3, 
    ref_0.O_COMMENT as c4, 
    ref_0.O_CUSTKEY as c5, 
    ref_0.O_SHIPPRIORITY as c6, 
    ref_0.O_CUSTKEY as c7, 
    
    sum(
      cast(ref_0.O_ORDERKEY as INT)) over (partition by ref_0.O_SHIPPRIORITY order by ref_0.O_ORDERKEY) as c8, 
    rand() as c9
    from 
    tpch_100g_orders as ref_0
    where ref_0.O_ORDERPRIORITY is not NULL
    limit 86;

Expected behavior (Required)

Real behavior (Required)

ERROR 1064 (HY000): Full sort encounter big chunk overflow issue

2022-05-11 18:52:18,686 WARN (thrift-server-pool-2|97) [MasterImpl.finishTask():187] cannot find task. type: UPDATE_TABLET_META_INFO, backendId: 10004, signature: 264265525
2022-05-11 18:52:53,911 WARN (thrift-server-pool-54|250) [MasterImpl.finishTask():187] cannot find task. type: UPDATE_TABLET_META_INFO, backendId: 10002, signature: 1781396310
2022-05-11 18:52:58,460 WARN (starrocks-mysql-nio-pool-6|277) [Coordinator.getNext():847] get next fail, need cancel. status errorCode INTERNAL_ERROR Full sort encounter big chunk overflow issue, query id: 7ed7936d-d118-11ec-97b2-00163e0025c6
2022-05-11 18:52:58,461 WARN (starrocks-mysql-nio-pool-6|277) [Coordinator.updateStatus():828] one instance report fail throw updateStatus(), need cancel. job id: -1, query id: 7ed7936d-d118-11ec-97b2-00163e0025c6, instance id: NaN
2022-05-11 18:52:58,461 WARN (starrocks-mysql-nio-pool-6|277) [Coordinator.getNext():868] query failed: Full sort encounter big chunk overflow issue
2022-05-11 18:52:58,461 WARN (thrift-server-pool-16|196) [Coordinator.updateFragmentExecStatus():1603] one instance report fail errorCode INTERNAL_ERROR Full sort encounter big chunk overflow issue, query_id=7ed7936d-d118-11ec-97b2-00163e0025c6 instance_id=7ed7936d-d118-11ec-97b2-00163e0025d6

StarRocks version (Required)

murphyatwork commented 2 years ago

This is an expected error in version 2.2. In this version it does not support sort a big binary chunk, so report an error instead of crash.