SR 执行SQL 触发bug导致be挂掉

SR version:3.1.1
问题描述:执行SQL,导致BE节点挂掉
SQL:select date_diff(‘day’,order_create_time ,pay_time) from dim_xf.dim_xf_finance_detail

报错日志:

2024-01-22 08:27:49,628 WARN (starrocks-mysql-nio-pool-56191|142538) [StmtExecutor.execute():555] Query cancelled by crash of backends or RpcException, [QueryId=1f4a10a5-b900-11ee-b518-0242cca60101] [SQL=/* ApplicationName=DBeaver 23.1.3 - SQLEditor <Script-8.sql> */ select date_diff('day',order_create_time ,pay_time) from dim_xf.dim_xf_finance_detail^M
LIMIT 0, 200] [Plan=PLAN FRAGMENT 0(F01)
  Output Exprs:68: date_diff  Input Partition: UNPARTITIONED  RESULT SINK  2:EXCHANGE     distribution type: GATHER     partition type: UNPARTITIONED     limit: 200
     cardinality: 200

PLAN FRAGMENT 1(F00)
  Input Partition: RANDOM
  OutPut Partition: UNPARTITIONED
  OutPut Exchange Id: 02

  1:Project
  |  output columns:
  |  68 <-> date_diff[('day', [7: order_create_time, DATETIME, true], [8: pay_time, DATETIME, true]); args: VARCHAR,DATETIME,DATETIME; result: BIGINT; args nullable: true; result nullable: true]
  |  limit: 200
  |  cardinality: 200
  |  column statistics:
  |  * date_diff-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN
  |
  0:OlapScanNode
     table: dim_xf_finance_detail, rollup: dim_xf_finance_detail
     preAggregation: on
     partitionsRatio=1/1, tabletsRatio=6/6
     tabletList=1126245,1126249,1126253,1126257,1126261,1126265
     actualRows=0, avgRowSize=17.0
     limit: 200
     cardinality: 200
     column statistics:
     * order_create_time-->[1.671123972E9, 1.705938573E9, 0.0010851598087090384, 8.0, 4542.0] ESTIMATE
     * pay_time-->[1.671123977E9, 1.705938581E9, 0.0012239593191253108, 8.0, 4512.0] ESTIMATE
     * date_diff-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN
]
com.starrocks.rpc.RpcException: A error occurred: errorCode=2001 errorMessage:Channel inactive error!, host: unknown
    at com.starrocks.qe.Coordinator.getNext(Coordinator.java:1417) ~[starrocks-fe.jar:?]
    at com.starrocks.qe.StmtExecutor.handleQueryStmt(StmtExecutor.java:909) ~[starrocks-fe.jar:?]
    at com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:503) ~[starrocks-fe.jar:?]
    at com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:362) ~[starrocks-fe.jar:?]
    at com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:476) ~[starrocks-fe.jar:?]
    at com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:742) ~[starrocks-fe.jar:?]
    at com.starrocks.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:69) ~[starrocks-fe.jar:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
    at java.lang.Thread.run(Thread.java:829) ~[?:?]
2024-01-22 08:27:49,628 WARN (starrocks-mysql-nio-pool-56191|142538) [StmtExecutor.execute():572] retry 1 times. stmt: /* ApplicationName=DBeaver 23.1.3 - SQLEditor <Script-8.sql> */ select date_diff('day',order_create_time ,pay_t
ime) from dim_xf.dim_xf_finance_detail^M

LIMIT 0, 200
2024-01-22 08:27:49,628 INFO (starrocks-mysql-nio-pool-56191|142538) [QeProcessorImpl.unregisterQuery():105] deregister query id 1f4a10a5-b900-11ee-b518-0242cca60101
2024-01-22 08:27:49,628 INFO (starrocks-mysql-nio-pool-56191|142538) [StmtExecutor.execute():495] transfer QueryId: 1f4a10a5-b900-11ee-b518-0242cca60101 to 41b620dc-58b9-4b60-94c0-d7fa237e443d
2024-01-22 08:27:49,628 INFO (starrocks-mysql-nio-pool-56191|142538) [QeProcessorImpl.registerQuery():95] registerquery id = 41b620dc-58b9-4b60-94c0-d7fa237e443d
2024-01-22 08:27:49,631 WARN (starrocks-mysql-nio-pool-56191|142538) [BackendServiceClient.execBatchPlanFragmentsAsync():133] Execute batch plan fragments catch a exception, address=dep203-be02-3005:8060
java.lang.RuntimeException: Unable to validate object
    at com.baidu.jprotobuf.pbrpc.transport.ChannelPool.getChannel(ChannelPool.java:86) ~[jprotobuf-rpc-core-4.2.1.jar:?]
......

像是触发了bug,be节点没看到相关报错信息
有大佬帮看下吗

自测进展:
经验证,date_diff函数导致,找到相关bug:

date_diff只能是某列值和一个常量比较

If you have questions in chinese, you can post them at mirrorship.