iotdb
iotdb copied to clipboard
This repository is ReadOnly now. please go to https://github.com/apache/incubator-iotdb
现在文件(tsfile/overflow)关闭的策略只有定时关闭(默认间隔为1小时)。因此,在文件数目比较多,flush次数也比较多的时候,每一个文件的metadata在内存中就会长时间大量积累,最后使得内存溢出。 所以,需要控制**单个文件的metadata在内存中的大小**,当其超过一定阈值后将其将其关闭并打开新文件。 考虑到避免文件合并时,单个文件的工作量过大使得文件合并难以分批进行,还需要对**单个文件大小**进行控制,当文件大小到达一定阈值时,也需要关闭当前文件并打开新文件。
前缀路径聚合问题
``` IoTDB> select * from root +-----------------------+-------------------------------+-------------------------------+-------------------------------+-------------------------------+-------------------------------+ | Time|root.turbine.Shanghai.d2.Energy|root.turbine.Shanghai.d3.Energy| root.turbine.Shanghai.d3.Speed| root.turbine.Beijing.d2.Energy| root.turbine.Beijing.d2.Speed| +-----------------------+-------------------------------+-------------------------------+-------------------------------+-------------------------------+-------------------------------+ |2017-12-01T00:22:59.334| null| null| null| 27.928814| 1| |2017-12-01T00:22:59.855| null| null| null| 25.391584| 0| |2017-12-01T00:23:00.269| null| null| null| 29.979698|...
 情景:一个11G的tsfile文件。通过debug模式查看metadata部分的大小是230M+。然后调用如图所示方法无法得到结果。并且内存使用量缓慢持续增加。  
由于当前update语句在表达和支持广度上有一定局限性,因此将update语句更改为以下规则: ### UPDATE语句语法设计 ```SQL EQUAL := '=' | '=='; NOTEQUAL := '' | '!='; LESSTHANOREQUALTO := ''; DOT := '.'; COMMA := ',' ; MINUS := '-'; Letter := 'a'..'z'...
FileNodeProcessor会向下传递三个action,在close的时候会用到 其中的两个:  close是同步操作,在`recordWriter.close()`之后可以结束,然后在FileNode的close函数中完成这两个操作,似乎没有必要下放到这里完成。
delete series 提示delete位置错误,而不是series位置错误 
测试环境: 1个storage group 1000设备 100传感器每一个设备 每次flush的数据与实际估计的128M差距较大。 日志信息如下: ``` 2017-11-29 14:38:57,704 INFO cn.edu.tsinghua.iotdb.engine.bufferwrite.BufferWriteProcessor$BufferWriteRecordWriter:694 - Asynchronous total row group size:134217728, actual:75108000, less:59109728. ```
line 114,这里备份的lastUpdateTimeMap是一个map数组,应该深拷贝,否则这里备份了仍然会被外界修改,没有意义 ``` private Action bufferwriteCloseAction = new Action() { @Override public void act() throws Exception { // update the lastUpdatetime, newIntervalList and Notice: thread // safe synchronized (fileNodeProcessorStore) {...