分区表损坏无法查询

【背景】

分区表损坏无法查询,升级到最新版本也无法解决。查询的时候会报错如下

MySQL [(none)]> select * from xxx limit 10;
ERROR 1064 (HY000): Build Exec OlapScanNode fail, scan info is invalid

【StarRocks版本】3.3.7(之前 3.3.2)

【集群规模】3 fe + 3 be(fe 与 be 混部)

【机器信息】16c 64G

【附件】

  • FE leader 日志
2025-01-06 16:56:38.034+08:00 ERROR (ForkJoinPool.commonPool-worker-7|20015) [MetaScanNode.computeRangeLocations():99] no queryable replica found in tablet 400556. visible version 15
2025-01-06 16:56:38.034+08:00 WARN (starrocks-mysql-nio-pool-16|17265) [StmtExecutor.execute():765] execute Exception, sql select * from xxx limit 10
com.starrocks.sql.common.StarRocksPlannerException: Build Exec OlapScanNode fail, scan info is invalid
        at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visitPhysicalOlapScan(PlanFragmentBuilder.java:855) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visitPhysicalOlapScan(PlanFragmentBuilder.java:416) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.optimizer.operator.physical.PhysicalOlapScanOperator.accept(PhysicalOlapScanOperator.java:201) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visit(PlanFragmentBuilder.java:464) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visitPhysicalDistribution(PlanFragmentBuilder.java:2316) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visitPhysicalDistribution(PlanFragmentBuilder.java:416) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.optimizer.operator.physical.PhysicalDistributionOperator.accept(PhysicalDistributionOperator.java:75) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visit(PlanFragmentBuilder.java:464) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visitPhysicalLimit(PlanFragmentBuilder.java:3226) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visitPhysicalLimit(PlanFragmentBuilder.java:416) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.optimizer.operator.physical.PhysicalLimitOperator.accept(PhysicalLimitOperator.java:58) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visit(PlanFragmentBuilder.java:464) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.translate(PlanFragmentBuilder.java:429) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.plan.PlanFragmentBuilder.createPhysicalPlan(PlanFragmentBuilder.java:244) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.StatementPlanner.createQueryPlanWithReTry(StatementPlanner.java:336) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.StatementPlanner.plan(StatementPlanner.java:133) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.StatementPlanner.plan(StatementPlanner.java:92) ~[starrocks-fe.jar:?]
        at com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:553) ~[starrocks-fe.jar:?]
        at com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:366) ~[starrocks-fe.jar:?]
        at com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:565) ~[starrocks-fe.jar:?]
        at com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:903) ~[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:834) ~[?:?]
Caused by: com.starrocks.common.UserException: Failed to get scan range, no queryable replica found in tablet=400556 replica=10004:15/-1/15/0:BAD:ALIVE, schema_hash=1587882969 version=15
        at com.starrocks.planner.OlapScanNode.addScanRangeLocations(OlapScanNode.java:595) ~[starrocks-fe.jar:?]
        at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visitPhysicalOlapScan(PlanFragmentBuilder.java:849) ~[starrocks-fe.jar:?]
        ... 24 more
ENGINE=OLAP 
DUPLICATE KEY(`event_date`, `log_date`)
PARTITION BY RANGE(`event_date`)
(PARTITION p1 VALUES [("0000-01-01"), ("2024-12-31")),
PARTITION p2 VALUES [("2024-12-31"), ("2025-01-31")),
PARTITION p3 VALUES [("2025-01-31"), ("2025-02-28")),
PARTITION p4 VALUES [("2025-02-28"), ("2025-03-31")),
PARTITION p5 VALUES [("2025-03-31"), ("2026-04-30")))
DISTRIBUTED BY RANDOM
PROPERTIES (
"bucket_size" = "4294967296",
"compression" = "LZ4",
"fast_schema_evolution" = "true",
"replicated_storage" = "true",
"replication_num" = "3"
);

请问有解决方案吗

看起来是单副本表?这个副本看起来有问题了,需要重新导入数据恢复