code: func (c *Cache) setCacheState(err error) error {
  	if !c.OnlyRecent.Enabled {
  		return err
  	}
  	if err := c.eraseAll(); err != nil {
  		if !c.isClosed() {
  			c.Warningf("Failed to erase the data: %v.", err)
  		}
  	}
  	c.wrapper.SetReadError(trace.ConnectionProblem(err, "cache is unavailable"))
  	return err
  }
docs: // setCacheState for "only recent" cache behavior will erase
  // the cache and set error mode to refuse to serve stale data,
  // otherwise does nothing