Hi!
Solution1. Automatic region splitting is triggered by the flushRegion Region or compaction. If data is written in BulkLoad mode only, flushRegion is not invoked. For this reason, automatic region splitting is triggered by compaction only.
2. Compaction operations are classified into major compaction and minor compaction. Both of them are triggered by the scheduled tasks of CompactionChecker. The minor compaction is checked once every 10 x 1000 seconds (the number of storefiles is not less than 3) and the frequency of major compaction is controlled by
hbase.hregion.majorcompaction. The default frequency is once a day.
3. During compaction, the system checks whether the storefile size is greater than the
hbase.hstore.compaction.max.size. If the file size is smaller than
hbase.hstore.compaction.max.size, the storefile is filtered out and not compacted. In some scenarios, compaction cannot be triggered, or the number of the remaining storefiles is greater than or equal to
hbase.hstore.blockingStoreFiles (default value: 7). Automatic slitting is not implemented later.