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.

Ouverte
#14,430 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Java
Étoiles
6.4k
Forks
1.2k
Merge moyen
1 j 23 h
PR mergées (30 j)
115

Description

### 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!

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par exécuter les deux reproductions SQL de l’issue sur IoTDB version 1.3.3, en comparant les cas à un seul élément et à plusieurs éléments. Suivez le chemin de requête avec filtre TIME pour statement 2 et confirmez que le correctif permet aux deux requêtes de renvoyer l’ensemble de résultats attendu sans INTERNAL_SERVER_ERROR.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
databases
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.