New data directories are used when the next partition occurs (every 3 days by default), or sooner if the current data disk is at risk of becoming full.

The server uses simple heuristics in calculating when to partition and where to place the new event partition:

  1. A new partition is created in the cbevents* directory that has the most free space at the time of partitioning.

  2. If the current data volume is more than 95% full and additional partitions exist that have more than 5% free space available, the server immediately partitions.

    You can control this threshold using the following configuration parameter:

    SolrTimePartitioningFreeSpaceThresholdPerc
    • Rule 1 ensures that new volumes are used in a balanced fashion. As old data is aging out (being purged), some partitions free up. This ensures optimal use of free space.

    • Rule 2 ensures that the system uses fragmented disk space efficiently in case many cbevents* directories exist. For example, assume you have five volumes, and each has 20% free space. This could result in none of the volumes fitting into the three-day partition. The system continues to try to use one of the partitions (up to its maximum available space) before moving to the next one. As a result, the server might end up with smaller partitions. However, this scenario should be rare.