apache / apache/iotdb

[Bug] Synced data stored as unsequenced

Offen
#11,441 3 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
6.4k
Forks
1.2k
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
115

Beschreibung

### Search before asking

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

### Version

Both machines running Ubuntu 20.04 and docker image of IoTDB version 1.2.2

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

1. Start two nodes in standalone configuration
2. Set pipe to cloud node
3. Perform insertions at the edge node

### What did you expect to see?

All data inserted to be stored in the same manner on both nodes.

### What did you see instead?

Although on the edge node data is stored in sequence TsFiles, the cloud node treats synced data as delayed and the data is stored in unsequence TsFiles.

On the cloud node running `du -h .` on the data folder shows most data usage in unsequence files
```
4.0K ./datanode/data/sequence
6.9G ./datanode/data/unsequence/root.gps/2/2808
6.9G ./datanode/data/unsequence/root.gps/2
6.9G ./datanode/data/unsequence/root.gps/1/2808
6.9G ./datanode/data/unsequence/root.gps/1
6.7G ./datanode/data/unsequence/root.gps/3/2808
6.7G ./datanode/data/unsequence/root.gps/3
6.4G ./datanode/data/unsequence/root.gps/4/2808
6.4G ./datanode/data/unsequence/root.gps/4
4.7G ./datanode/data/unsequence/root.gps/5/2808
4.7G ./datanode/data/unsequence/root.gps/5
32G ./datanode/data/unsequence/root.gps
32G ./datanode/data/unsequence
32G ./datanode/data
```

While on the edge nodes running `du -h .` on the data folder shows most data usage in sequence files
```
8.6G ./datanode/data/sequence/root.gps/2/2808
8.6G ./datanode/data/sequence/root.gps/2
6.9G ./datanode/data/sequence/root.gps/4/2808
6.9G ./datanode/data/sequence/root.gps/4
7.6G ./datanode/data/sequence/root.gps/1/2808
7.6G ./datanode/data/sequence/root.gps/1
7.1G ./datanode/data/sequence/root.gps/3/2808
7.1G ./datanode/data/sequence/root.gps/3
30G ./datanode/data/sequence/root.gps
30G ./datanode/data/sequence
26M ./datanode/data/unsequence/root.gps/2/2808
26M ./datanode/data/unsequence/root.gps/2
17M ./datanode/data/unsequence/root.gps/4/2808
17M ./datanode/data/unsequence/root.gps/4
26M ./datanode/data/unsequence/root.gps/1/2808
26M ./datanode/data/unsequence/root.gps/1
26M ./datanode/data/unsequence/root.gps/3/2808
26M ./datanode/data/unsequence/root.gps/3
94M ./datanode/data/unsequence/root.gps
94M ./datanode/data/unsequence
34G ./datanode/data
34G ./datanode
```

Tests performing query operations seem to indicate that this negatively impacts query performance as unsequence files negatively impact query performance. These tests were run using IoTDB version 1.1.1, but since data is still stored as unsequenced in 1.2.2, this behaviour should still be present.

### Anything else?

Edge node is running in a Docker container limited to 4 CPU cores, 4GB of RAM, 44MB/s disk reads, 40MB/s disk writes, 2700 read IOps, 1200 write IOps
Cloud node is running in a Docker container with no limitations. Host machine has a 6 core CPU and 16GB of RAM

### Are you willing to submit a PR?

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie damit, das eigenständige Setup mit zwei Knoten unter Verwendung des IoTDB 1.2.2 Docker-Images zu reproduzieren, eine Pipe vom Edge-Knoten zu konfigurieren und die Ordner datanode/data/sequence sowie datanode/data/unsequence des Cloud-Knotens zu untersuchen. Vergleichen Sie die gespeicherten Dateien und das Abfrageverhalten nach Einfügungen am Edge; abgeschlossen ist die Aufgabe, wenn synchronisierte Daten als Sequence-Dateien auf dem Cloud-Knoten gespeichert werden, ohne die gemeldeten Auswirkungen auf die Abfrageleistung.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
docker, java
Bereich
databases, distributed-systems
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.