apache / apache/iotdb

[Bug] iotdb 1.0 regionReplicaSet is invalid: null

未关闭
#8,735 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Java
星标
6.4k
派生
1.2k
平均合并
1 天 23 小时
30 天内合并 PR
115

描述

### Search before asking

- [X] I searched in the [issues](https://github.com/apache/iotdb/issues) and found nothing similar.

### Version

centos 7.4 iotdb 1.0

### Describe the bug and provide the minimal reproduce step

SQL:

SELECT
last_value(green_warning_lamp) as green_warning_lamp,
last_value(blue_warning_lamp) as blue_warning_lamp,
last_value(red_warning_lamp) as red_warning_lamp,
last_value(yellow_warning_lamp) as yellow_warning_lamp
FROM root.aa.bb.**
WHERE Time> 2023-01-04 12:00:00
align by device
当时间过滤条件设置为较新时 如 now-1h,会报
java.lang.IllegalArgumentException: regionReplicaSet is invalid: null
at org.apache.iotdb.db.mpp.plan.planner.distribution.SimpleFragmentParallelPlanner.selectTargetDataNode(SimpleFragmentParallelPlanner.java:129)
at org.apache.iotdb.db.mpp.plan.planner.distribution.SimpleFragmentParallelPlanner.produceFragmentInstance(SimpleFragmentParallelPlanner.java:115)
at org.apache.iotdb.db.mpp.plan.planner.distribution.SimpleFragmentParallelPlanner.prepare(SimpleFragmentParallelPlanner.java:87)
at org.apache.iotdb.db.mpp.plan.planner.distribution.SimpleFragmentParallelPlanner.parallelPlan(SimpleFragmentParallelPlanner.java:78)
at org.apache.iotdb.db.mpp.plan.planner.distribution.DistributionPlanner.planFragmentInstances(DistributionPlanner.java:94)
at org.apache.iotdb.db.mpp.plan.planner.distribution.DistributionPlanner.planFragments(DistributionPlanner.java:78)
at org.apache.iotdb.db.mpp.plan.execution.QueryExecution.doDistributedPlan(QueryExecution.java:304)
at org.apache.iotdb.db.mpp.plan.execution.QueryExecution.start(QueryExecution.java:201)
at org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:150)
at org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl.executeStatementInternal(ClientRPCServiceImpl.java:215)
at org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl.executeStatementV2(ClientRPCServiceImpl.java:390)
at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatementV2.getResult(IClientRPCService.java:3453)
at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatementV2.getResult(IClientRPCService.java:3433)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)
at org.apache.iotdb.db.service.thrift.ProcessorWithMetrics.process(ProcessorWithMetrics.java:64)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
regionReplicaSet is invalid: null

### What did you expect to see?

success query

### What did you see instead?

regionReplicaSet is invalid: null

### Anything else?

_No response_

### Are you willing to submit a PR?

- [ ] I'm willing to submit a PR!

贡献指南

打开贡献指南

调研方向

在 IoTDB 1.0 上使用最近的时间过滤器重现该 SQL 查询,然后从堆栈跟踪中的 SimpleFragmentParallelPlanner.selectTargetDataNode 开始,尤其关注第 129 行,并跟踪经过 DistributionPlanner 的规划调用。查询能够成功完成,而不是引发 "regionReplicaSet is invalid: null",即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
databases, distributed-systems
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。