code: func (e *Engine) reloadCache() error {
  	now := time.Now()
  	files, err := segmentFileNames(e.WAL.Path())
  	if err != nil {
  		return err
  	}
  
  	limit := e.Cache.MaxSize()
  	defer func() {
  		e.Cache.SetMaxSize(limit)
  	}()
  
  	// Disable the max size during loading
  	e.Cache.SetMaxSize(0)
  
  	loader := NewCacheLoader(files)
  	loader.WithLogger(e.logger)
  	if err := loader.Load(e.Cache); err != nil {
  		return err
  	}
  
  	e.traceLogger.Info("Reloaded WAL cache", zap.String("path", e.WAL.Path()), zap.Duration("duration", time.Since(now)))
  	return nil
  }
docs: // reloadCache reads the WAL segment files and loads them into the cache.