Hi guys, Recently, I've been working on a new feature called "Multiple Directories". Currently, the total data storage of one single IoTDB instance is limited by the total data storage of one single disk, which prevents IoTDB storage expansion. Moreover, users are unable to add new disks when current disk is full, which is unacceptable in production environment. Therefore, "Multiple Directories" intends to enable IoTDB to be configured with multiple directories which can be with different disks. All the directories is managed by a class called "Directories". When a new tsfile is created, IoTDB requests a new directory from "Directories", which is dynamically selected from all the configured directories based on the configured strategy. At present, three strategies are included: 1. SequenceStrategy: all directories will be selected in order; 2. MaxDiskUsableSpaceFirstStrategy: prefer the directory with the largest free space on the disk; 3. MinFolderOccupiedSpaceFirstStrategy: prefer the directory where the disk has the smallest footprint. In addition, all directories with full disk will be ignored, and DiskSpaceInsufficientException will be thrown if all disks are full. The default strategy is MaxDiskUsableSpaceFirstStrategy, and users are able to add customized strategy by implementing DirectoryStrategy interface and set the full class path in the config file.
This feature is implemented in PR#190 https://github.com/apache/incubator-iotdb/pull/190 <https://github.com/apache/incubator-iotdb/pull/190> , and UTs are added in PR#197 https://github.com/apache/incubator-iotdb/pull/197 <https://github.com/apache/incubator-iotdb/pull/197> . —————————————————— Dongfang Mao maod...@mails.tsinghua.edu.cn