Class SizeTieredCompactionSelector

  • All Implemented Interfaces:
    IInnerSeqSpaceSelector, IInnerUnseqSpaceSelector, ICompactionSelector

    public class SizeTieredCompactionSelector
    extends java.lang.Object
    implements IInnerSeqSpaceSelector, IInnerUnseqSpaceSelector
    SizeTieredCompactionSelector selects files to be compacted based on the size of files. The selector traverses the file list from old to new. If the size of selected files or the number of select files exceed given threshold, a compaction task will be submitted to task queue in CompactionTaskManager. In CompactionTaskManager, tasks are ordered by ICompactionTaskComparator. To maximize compaction efficiency, selector searches compaction task from 0 compaction files(that is, file that never been compacted, named level 0 file) to higher level files. If a compaction task is found in some level, selector will not search higher level anymore.
    • Field Detail

      • storageGroupName

        protected java.lang.String storageGroupName
      • dataRegionId

        protected java.lang.String dataRegionId
      • timePartition

        protected long timePartition
      • tsFileResources

        protected java.util.List<TsFileResource> tsFileResources
      • sequence

        protected boolean sequence
      • hasNextTimePartition

        protected boolean hasNextTimePartition
    • Constructor Detail

      • SizeTieredCompactionSelector

        public SizeTieredCompactionSelector​(java.lang.String storageGroupName,
                                            java.lang.String dataRegionId,
                                            long timePartition,
                                            boolean sequence,
                                            TsFileManager tsFileManager)