【2.5.13】select表报错by zero

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】select 表。通过客户端软件返回提示ERROR 1064 (HY000): / by zero。通过命令行执行返回:
ERROR 1064 (HY000): Unknown error。
【背景】做过哪些操作?
【业务影响】
【是否存算分离】
【StarRocks版本】2.5.13
【集群规模】例如:3fe(1 follower+2observer)+3be
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【联系方式】为了在解决问题过程中能及时联系到您获取一些日志信息,请补充下您的联系方式,例如:社区群4-小李或者邮箱,谢谢
【附件】
建表sql:
) ENGINE=OLAP
PRIMARY KEY(id_)
COMMENT “xxx”
DISTRIBUTED BY HASH(id_) BUCKETS 8
PROPERTIES (
“replication_num” = “3”,
“in_memory” = “false”,
“storage_format” = “DEFAULT”,
“enable_persistent_index” = “false”,
“compression” = “LZ4”

fe.log查询日志:
2024-02-18 09:34:42,971 WARN (starrocks-mysql-nio-pool-37231|2068477) [StmtExecutor.execute():551] execute Exception, sql explain costs select * from dsj_ods.xxxxx limit
10
java.lang.ArithmeticException: null

fe.warn.log:则返回错误:
[StmtExecutor.execute():551] execute Exception, sql explain select * from to_hrm_company_department
limit 50
java.lang.ArithmeticException: / by zero
at com.starrocks.sql.common.Generator.next(Generator.java:41) ~[starrocks-fe.jar:?]
at com.starrocks.sql.common.PermutationGenerator.next(PermutationGenerator.java:51) ~[starrocks-fe.jar:?]

hello,麻烦收集一下两个信息
1.fe.log中搜下对应的sql,贴下完整的异常栈。
2.explain costs sql

1、fe.log完整的异常栈:
2024-02-18 09:32:36,832 WARN (starrocks-mysql-nio-pool-37231|2068477) [StmtExecutor.execute():551] execute Exception, sql select * from database.table limit 10
java.lang.ArithmeticException: null
往下日志则只是info级别的正常打印。
2、explain costs sql返回的同样为ERROR 1064 (HY000): Unknown error。
目前我们是直接重建了,正常恢复查询了。

thanks!我们排查一下。

表结构方便发一下吗?有没有使用特别的数据类型?大概有多少列?

这个完整的报错堆栈麻烦发一下

表里面字段名称做了一些混淆,但是结构是一致的。
CREATE TABLE to_hrm_company_department (
id_ bigint(20) NOT NULL COMMENT “”,
d_name varchar(1000) NULL COMMENT “”,
open_dt_id varchar(240) NULL COMMENT “”,
dt_code varchar(240) NULL COMMENT “”,
p_code varchar(160) NULL DEFAULT “0” COMMENT “”,
c_code varchar(240) NULL COMMENT “”,
c_code_bak varchar(144) NULL COMMENT “”,
au_ int(11) NOT NULL DEFAULT “0” COMMENT “”,
e_code varchar(160) NULL COMMENT “”,
e_code_bak varchar(160) NULL COMMENT “”,
d_ varchar(4024) NULL COMMENT “描述”,
sort_ int(11) NULL COMMENT “排序”,
create_by varchar(160) NULL COMMENT “”,
create_time datetime NULL COMMENT “”,
update_by varchar(160) NULL COMMENT “”,
update_time datetime NULL COMMENT “”,
enable_ tinyint(4) NULL COMMENT “”,
remark_ varchar(4024) NULL COMMENT “”,
d_type tinyint(4) NULL DEFAULT “0” COMMENT “”,
d_code_bak varchar(256) NULL COMMENT “”,
is_full tinyint(4) NULL COMMENT “”,
c_id bigint(20) NULL COMMENT “”,
o_code varchar(256) NULL COMMENT “”,
t_code varchar(256) NULL COMMENT “”,
p_code varchar(256) NULL COMMENT “”,
etl_time datetime NOT NULL COMMENT “ETL时间”
) ENGINE = OLAP PRIMARY KEY(id_) COMMENT “表” DISTRIBUTED BY HASH(id_) BUCKETS 8 PROPERTIES (
“replication_num” = “3”,
“in_memory” = “false”,
“storage_format” = “DEFAULT”,
“enable_persistent_index” = “false”,
“compression” = “LZ4”
);

完整的堆栈信息:[StmtExecutor.execute():551] execute Exception, sql explain select * from to_hrm_company_department
limit 50
java.lang.ArithmeticException: / by zero
at com.starrocks.sql.common.Generator.next(Generator.java:41) ~[starrocks-fe.jar:?]
at com.starrocks.sql.common.PermutationGenerator.next(PermutationGenerator.java:51) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.rule.transformation.materialization.MaterializedViewRewriter.rewriteViewDelta(MaterializedViewRewriter.java:714) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.rule.transformation.materialization.MaterializedViewRewriter.rewrite(MaterializedViewRewriter.java:658) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.rule.transformation.materialization.rule.BaseMaterializedViewRewriteRule.transform(BaseMaterializedViewRewriteRule.java:95) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.rule.transformation.materialization.rule.SingleTableRewriteBaseRule.transform(SingleTableRewriteBaseRule.java:24) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.task.RewriteTreeTask.rewrite(RewriteTreeTask.java:61) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.task.RewriteTreeTask.rewrite(RewriteTreeTask.java:79) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.task.RewriteTreeTask.execute(RewriteTreeTask.java:46) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.task.SeriallyTaskScheduler.executeTasks(SeriallyTaskScheduler.java:68) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.Optimizer.ruleRewriteIterative(Optimizer.java:539) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.Optimizer.logicalRuleRewrite(Optimizer.java:320) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.Optimizer.rewriteAndValidatePlan(Optimizer.java:366) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.Optimizer.optimizeByCost(Optimizer.java:134) ~[starrocks-fe.jar:?]
at com.starrocks.sql.optimizer.Optimizer.optimize(Optimizer.java:95) ~[starrocks-fe.jar:?]
at com.starrocks.sql.StatementPlanner.createQueryPlan(StatementPlanner.java:120) ~[starrocks-fe.jar:?]
at com.starrocks.sql.StatementPlanner.planQuery(StatementPlanner.java:101) ~[starrocks-fe.jar:?]
at com.starrocks.sql.StatementPlanner.plan(StatementPlanner.java:77) ~[starrocks-fe.jar:?]
at com.starrocks.sql.StatementPlanner.plan(StatementPlanner.java:44) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:402) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:327) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:444) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:711) ~[starrocks-fe.jar:?]
at com.starrocks.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:55) ~[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) ~[?:?]