apache / apache/iotdb

[Bug] In the latest version of IoTDB, When multiple elements exist under a certain node, there is an error in filtering data using the TIME field.

オープン
#14,430 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
6.4k
フォーク
1.2k
平均マージ
1日 23時間
マージ済み PR(30日)
115

説明

### Search before asking

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

### Version

version 1.3.3 (Build: ad95a7e)

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

```
# statement 1
DROP DATABASE root.db0
CREATE TIMESERIES root.db0.t1.c0 WITH datatype=INT32
INSERT INTO root.db0.t1(timestamp, c0) VALUES (1641024000000, 1);
SELECT * FROM root.db0.t1 WHERE time < 1641024150000 - 1000;

# statement 2
DROP DATABASE root.db1
CREATE TIMESERIES root.db1.t1.c0 INT32;
CREATE TIMESERIES root.db1.t1.c1 INT32;
CREATE TIMESERIES root.db1.t1.c2 WITH datatype=INT32;
INSERT INTO root.db1.t1(timestamp, c2, c1, c0) VALUES (1641024000000, 1, 1, 1);
SELECT * FROM root.db1.t1 WHERE time < 1641024150000 - 1000;
```

### What did you expect to see?

Expected result set for statement 1: **1**

Expected result set for statement 1: **1**

### What did you see instead?

statement 1 returned result set: **1**

statement 2 returned result set: [INTERNAL_SERVER_ERROR(305)] Exception occurred: "SELECT * FROM root.db1.t1 WHERE (time) < 1641024150000 - 1000". executeStatement failed. null

### Anything else?

Dear IoTDB team, Statement 1 and Statement 2 perform the same query, with the only difference being that the data nodes are different. The data node in Statement 2 contains multiple elements. Theoretically, the query results of both should be identical, but an error occurs when executing Statement 2.

### Are you willing to submit a PR?

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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、Issue にある 2 つの SQL 再現を IoTDB バージョン 1.3.3 に対して実行し、単一要素の場合と複数要素の場合を比較します。statement 2 の TIME フィルター付きクエリパスを追跡し、修正によって両方のクエリが INTERNAL_SERVER_ERROR なしで期待される結果セットを返すことを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
databases
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
38/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。