code: func (s *shards) enqueue(ref uint64, sample prompb.TimeSeries) bool {
  	s.mtx.RLock()
  	defer s.mtx.RUnlock()
  
  	select {
  	case <-s.softShutdown:
  		return false
  	default:
  	}
  
  	shard := uint64(ref) % uint64(len(s.queues))
  	select {
  	case <-s.softShutdown:
  		return false
  	case s.queues[shard] <- sample:
  		return true
  	}
  }
docs: // enqueue a sample.  If we are currently in the process of shutting down or resharding,
  // will return false; in this case, you should back off and retry.