apache / apache/iotdb

乱序数据文件导致iotdb server 内存暴涨,无法查询数据

Aperta
#7,969 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
6.4k
Fork
1.2k
Merge medio
1g 23h
PR unite (30g)
115

Descrizione

iotdb 版本:0.13.0

设备不写入数据的情况下,我启动了iotdb server,如下现象:
1,查数据,出不来,iotdb server 报了null 错误;
2、电脑中的java 进程一直涨,我的电脑很快就占用到4G了。。
然后我就是怀疑,iotdb在处理之前的数据,就去看data目录,发现乱序数据目录下有文件,我的场景下不应该出现乱序数据。。所以就删了,就恢复正常了。

![79894dced22ec41b15a3fb35b23dd2b](https://user-images.githubusercontent.com/10105646/201462082-4f3f0052-f4b0-4130-91d5-87e81b238979.jpg)

日志如下:

2022-11-12 15:04:17,679 [pool-7-IoTDB-Compaction-1] INFO o.a.i.d.e.c.c.CrossSpaceCompactionExceptionHandler:58 - [Compaction][ExceptionHandler] Cross space compaction start handling exception, source seqFiles is [file is D:\apache-iotdb-0.13.0-all-bin\data\data\sequence\root.rczz\0\0\1668163631223-2-0-0.tsfile, compactionCandidate: true, compacting: true], source unseqFiles is [file is D:\apache-iotdb-0.13.0-all-bin\data\data\unsequence\root.rczz\0\0\1668216201890-5-0-0.tsfile, compactionCandidate: true, compacting: true]
2022-11-12 15:04:17,685 [pool-7-IoTDB-Compaction-1] ERROR o.a.i.d.e.c.t.AbstractCompactionTask:70 - null
java.lang.NullPointerException: null
at org.apache.iotdb.db.engine.compaction.inner.utils.MultiTsFileDeviceIterator.hasNextDevice(MultiTsFileDeviceIterator.java:97)
at org.apache.iotdb.db.engine.compaction.CompactionUtils.compact(CompactionUtils.java:92)
at org.apache.iotdb.db.engine.compaction.cross.rewrite.task.RewriteCrossSpaceCompactionTask.executeCompaction(RewriteCrossSpaceCompactionTask.java:145)
at org.apache.iotdb.db.engine.compaction.cross.rewrite.task.RewriteCrossSpaceCompactionTask.doCompaction(RewriteCrossSpaceCompactionTask.java:87)
at org.apache.iotdb.db.engine.compaction.task.AbstractCompactionTask.call(AbstractCompactionTask.java:68)
at org.apache.iotdb.db.engine.compaction.task.AbstractCompactionTask.call(AbstractCompactionTask.java:45)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
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)
2022-11-12 15:04:52,630 [pool-17-IoTDB-RPC-Client-1] INFO o.a.i.d.s.b.ServiceProvider:188 - IoTDB: Login status: Login successfully. User : root, opens Session-1
2022-11-12 15:04:52,821 [pool-17-IoTDB-RPC-Client-1] INFO o.a.i.d.c.IoTDBThreadPoolFactory:68 - new fixed thread pool: Query, thread number: 12
2022-11-12 15:04:56,346 [pool-17-IoTDB-RPC-Client-2] INFO o.a.i.d.s.b.ServiceProvider:188 - IoTDB: Login status: Login successfully. User : root, opens Session-2
2022-11-12 15:04:57,495 [pool-3-IoTDB-timedQuerySqlCount-1] INFO o.a.i.d.s.b.QueryFrequencyRecorder:42 - Query count in current 1 minute 2
2022-11-12 15:05:08,317 [pool-17-IoTDB-RPC-Client-3] INFO o.a.i.d.s.b.ServiceProvider:188 - IoTDB: Login status: Login successfully. User : root, opens Session-3
2022-11-12 15:05:44,731 [pool-17-IoTDB-RPC-Client-4] INFO o.a.i.d.s.b.ServiceProvider:188 - IoTDB: Login status: Login successfully. User : root, opens Session-4

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia dallo stack trace in MultiTsFileDeviceIterator.java:97 e segui i suoi chiamanti in CompactionUtils.java e RewriteCrossSpaceCompactionTask.java. Riproduci il problema con i file .tsfile di sequence e unsequence indicati, quindi verifica che le query al server non falliscano più con una NullPointerException e che la memoria non continui ad aumentare durante la compattazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
databases
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.