Before splitting a tablet (also known as a region), the CLDB selects another container to hold the new tablet. The objective is for the new container to reside on a node with 1) sufficient space and 2) a local replica of the container for the original tablet.
Initially, not all data is not moved. After a tablet is split, about 400 bytes of unchanging data is copied to the new tablet or container immediately. Then, the high-level metadata (for example, spill maps) is copied on the first bucket flush. This occurs very quickly because the data size is small. Later, the data move occurs in the context of subsequent bucket flushes or an idle thread. The idle thread is throttled so it does not affect the incoming load.
After the initial tablet split:
1. All segment maps and spill maps are copied over on the first bucket flush.2. On subsequent bucket flushes, which trigger segment packing and compaction, the segments being rewritten are written to the new container.
An idle thread also looks for segments that have not yet been moved. The idle thread moves those segments gradually (and when the database is relatively idle). It moves no more than one tablet of segments every 10 minutes. It’s also throttled.
Note: In some circumstances, the CLDB will not be able to find a MapR-FS with a local copy of the original container to serve the new tablet. If this occurs, the split takes place anyway. However, IO for that tablet will be remote until all segments are moved.
Tablet merges are not automatic. Merges must be manually triggered and often merges are not necessary unless your tablet shrinks dramatically in size.
For information see the MapR user documentation:
Retrieving data ...