org.apache.iotdb.commons.exception.IoTDBException: java.lang.IndexOutOfBoundsException: Invalid position 186 and length -139 in page with 47 positions
まだ誰も着手していません。
評価
調査の方向性
Start by reproducing the reported window query and trace execution from TableWindowOperator.java through Partition.java to TsBlock.getRegion(TsBlock.java:147). Compare the partition positions with the 47-position block shown in the exception. Done means the query completes without the IndexOutOfBoundsException and the regression is covered by a test.
索引モデルが issue の本文から書いたものです。
説明
2026-09-15 10:12:30,278 [pool-57-IoTDB-ClientRPC-Processor-8] WARN o.a.i.d.u.ErrorHandlingUtils:127 - Status code: 301, Query Statement: "SELECT time, patient_id, device_id, session_id, frame_id, package_sequence,
battery, rssi, resp_rate, heart_rate, pulse_rate, spo2, temperature,
error_code, systolic_pressure, diastolic_pressure, mean_pressure, nurse_call, nasal_resp_rate, flow,
o2_content, co2_content, gas_flow
FROM (
SELECT time, patient_id, device_id, session_id, frame_id, package_sequence,
battery, rssi, resp_rate, heart_rate, pulse_rate, spo2, temperature,
error_code, systolic_pressure, diastolic_pressure, mean_pressure, nurse_call, nasal_resp_rate, flow,
o2_content, co2_content, gas_flow,
ROW_NUMBER() OVER (
PARTITION BY date_bin(1800s, time)
ORDER BY time ASC
) AS replay_row_num
FROM vital_sign
WHERE patient_id = 'da9a4ea1b3e64b3b9834f85baf15a1c9'
AND time >= 1789351946499
AND time < 1789438346499
) replay_source
WHERE replay_row_num = 1 OR error_code > 0
ORDER BY time ASC". executeStatement failed because Invalid position 186 and length -139 in page with 47 positions
org.apache.iotdb.commons.exception.IoTDBException: java.lang.IndexOutOfBoundsException: Invalid position 186 and length -139 in page with 47 positions
at org.apache.iotdb.db.queryengine.plan.execution.QueryExecution.dealWithException(QueryExecution.java:479)
at org.apache.iotdb.db.queryengine.plan.execution.QueryExecution.getResult(QueryExecution.java:452)
at org.apache.iotdb.db.queryengine.plan.execution.QueryExecution.getByteBufferBatchResult(QueryExecution.java:498)
at org.apache.iotdb.db.utils.QueryDataSetUtils.convertQueryResultByFetchSize(QueryDataSetUtils.java:619)
at org.apache.iotdb.db.protocol.thrift.impl.ClientRPCServiceImpl.lambda$static$0(ClientRPCServiceImpl.java:284)
at org.apache.iotdb.db.protocol.thrift.impl.ClientRPCServiceImpl.executeStatementInternal(ClientRPCServiceImpl.java:430)
at org.apache.iotdb.db.protocol.thrift.impl.ClientRPCServiceImpl.executeStatementV2(ClientRPCServiceImpl.java:923)
at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatementV2.getResult(IClientRPCService.java:4164)
at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatementV2.getResult(IClientRPCService.java:4144)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)
at org.apache.iotdb.db.protocol.thrift.ProcessorWithMetrics.process(ProcessorWithMetrics.java:64)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IndexOutOfBoundsException: Invalid position 186 and length -139 in page with 47 positions
at org.apache.tsfile.read.common.block.TsBlock.getRegion(TsBlock.java:147)
at org.apache.iotdb.db.queryengine.execution.operator.process.window.partition.Partition.(Partition.java:41)
at org.apache.iotdb.db.queryengine.execution.operator.process.window.partition.PartitionExecutor.(PartitionExecutor.java:73)
at org.apache.iotdb.db.queryengine.execution.operator.process.window.TableWindowOperator.next(TableWindowOperator.java:178)
at org.apache.iotdb.db.queryengine.execution.operator.Operator.nextWithTimer(Operator.java:48)
at org.apache.iotdb.db.queryengine.execution.operator.process.FilterAndProjectOperator.next(FilterAndProjectOperator.java:126)
at org.apache.iotdb.db.queryengine.execution.operator.Operator.nextWithTimer(Operator.java:48)
at org.apache.iotdb.db.queryengine.execution.operator.process.FilterAndProjectOperator.next(FilterAndProjectOperator.java:126)
at org.apache.iotdb.db.queryengine.execution.operator.Operator.nextWithTimer(Operator.java:48)
at org.apache.iotdb.db.queryengine.execution.operator.process.SortOperator.next(SortOperator.java:61)
at org.apache.iotdb.db.queryengine.execution.operator.Operator.nextWithTimer(Operator.java:48)
at org.apache.iotdb.db.queryengine.execution.operator.sink.IdentitySinkOperator.next(IdentitySinkOperator.java:106)
at org.apache.iotdb.db.queryengine.execution.operator.Operator.nextWithTimer(Operator.java:48)
at org.apache.iotdb.db.queryengine.execution.driver.Driver.processInternal(Driver.java:241)
at org.apache.iotdb.db.queryengine.execution.driver.Driver.lambda$processFor$1(Driver.java:152)
at org.apache.iotdb.db.queryengine.execution.driver.Driver.tryWithLock(Driver.java:337)
at org.apache.iotdb.db.queryengine.execution.driver.Driver.processFor(Driver.java:133)
at org.apache.iotdb.db.queryengine.execution.schedule.DriverTaskThread.execute(DriverTaskThread.java:83)
at org.apache.iotdb.db.queryengine.execution.schedule.AbstractDriverThread.run(AbstractDriverThread.java:79)
2026-09-15 10:12:31,280 [pool-50-IoTDB-MPP-Coordinator-Scheduled-Executor-1] WARN o.a.i.d.q.e.f.FragmentInstanceContext:442 - [Unknown exception]:
java.lang.IndexOutOfBoundsException: Invalid position 186 and length -139 in page with 47 positions
at org.apache.tsfile.read.common.block.TsBlock.getRegion(TsBlock.java:147)
at org.apache.iotdb.db.queryengine.execution.operator.process.window.partition.Partition.(Partition.java:41)
at org.apache.iotdb.db.queryengine.execution.operator.process.window.partition.PartitionExecutor.(PartitionExecutor.java:73)
at org.apache.iotdb.db.queryengine.execution.operator.process.window.TableWindowOperator.next(TableWindowOperator.java:178)
at org.apache.iotdb.db.queryengine.execution.operator.Operator.nextWithTimer(Operator.java:48)
at org.apache.iotdb.db.queryengine.execution.operator.process.FilterAndProjectOperator.next(FilterAndProjectOperator.java:126)
at org.apache.iotdb.db.queryengine.execution.operator.Operator.nextWithTimer(Operator.java:48)
at org.apache.iotdb.db.queryengine.execution.operator.process.FilterAndProjectOperator.next(FilterAndProjectOperator.java:126)
at org.apache.iotdb.db.queryengine.execution.operator.Operator.nextWithTimer(Operator.java:48)
at org.apache.iotdb.db.queryengine.execution.operator.process.SortOperator.next(SortOperator.java:61)
at org.apache.iotdb.db.queryengine.execution.operator.Operator.nextWithTimer(Operator.java:48)
at org.apache.iotdb.db.queryengine.execution.operator.sink.IdentitySinkOperator.next(IdentitySinkOperator.java:106)
at org.apache.iotdb.db.queryengine.execution.operator.Operator.nextWithTimer(Operator.java:48)
at org.apache.iotdb.db.queryengine.execution.driver.Driver.processInternal(Driver.java:241)
at org.apache.iotdb.db.queryengine.execution.driver.Driver.lambda$processFor$1(Driver.java:152)
at org.apache.iotdb.db.queryengine.execution.driver.Driver.tryWithLock(Driver.java:337)
at org.apache.iotdb.db.queryengine.execution.driver.Driver.processFor(Driver.java:133)
at org.apache.iotdb.db.queryengine.execution.schedule.DriverTaskThread.execute(DriverTaskThread.java:83)
at org.apache.iotdb.db.queryengine.execution.schedule.AbstractDriverThread.run(AbstractDriverThread.java:79)
- 主要言語
- Java
- スター
- 6.4k
- フォーク
- 1.2k
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 129
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/iotdb のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
IoTDB Edge: stop-edge.sh does not stop its own process when IOTDB_HOME is set, and reports success オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
[Bug] findColumn throws NullPointerException instead of SQLException for an unknown column name オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
似ている issue
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
apache/flink-agents#1152 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
jenkinsci/blueocean-plugin#5417 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
objectionary/eo-graphs#75 ·