code: func (e *Engine) compactFull(grp CompactionGroup, wg *sync.WaitGroup) bool {
  	s := e.fullCompactionStrategy(grp, false)
  	if s == nil {
  		return false
  	}
  
  	// Try the lo priority limiter, otherwise steal a little from the high priority if we can.
  	if e.compactionLimiter.TryTake() {
  		e.compactionTracker.IncFullActive()
  		wg.Add(1)
  		go func() {
  			defer wg.Done()
  			defer e.compactionTracker.DecFullActive()
  			defer e.compactionLimiter.Release()
  			s.Apply()
  			// Release the files in the compaction plan
  			e.CompactionPlan.Release([]CompactionGroup{s.group})
  		}()
  		return true
  	}
  	return false
  }
docs: // compactFull kicks off full and optimize compactions using the lo priority policy. It returns
  // the plans that were not able to be started.