func (s *Storage) Querier(ctx context.Context, mint, maxt int64) (storage.Querier, error) {
	s.mtx.Lock()
	queryables := s.queryables
	s.mtx.Unlock()

	queriers := make([]storage.Querier, 0, len(queryables))
	for _, queryable := range queryables {
		q, err := queryable.Querier(ctx, mint, maxt)
		if err != nil {
			return nil, err
		}
		queriers = append(queriers, q)
	}
	return storage.NewMergeQuerier(nil, queriers), nil
}
func (s *Storage) Querier(ctx context.Context, mint, maxt int64) (storage.Querier, error) {
	s.mtx.Lock()
	queryables := s.queryables
	s.mtx.Unlock()

	queriers := make([]storage.Querier, 0, len(queryables))
	for _, queryable := range queryables {
		q, err := queryable.Querier(ctx, mint, maxt)
		if err != nil {
			return nil, err
		}
		queriers = append(queriers, q)
	}
	return storage.NewMergeQuerier(nil, queriers), nil
}
func ( s * Storage ) Querier ( ctx context . Context , mint , maxt int64 ) ( storage . Querier , error ) { s . mtx . Lock ( ) queryables := s . queryables s . mtx . Unlock ( ) queriers := make ( [ ] storage . Querier , 0 , len ( queryables ) ) for _ , queryable := range queryables { q , err := queryable . Querier ( ctx , mint , maxt ) if err != nil { return nil , err } queriers = append ( queriers , q ) } return storage . NewMergeQuerier ( nil , queriers ) , nil }
// Querier returns a storage.MergeQuerier combining the remote client queriers
// of each configured remote read endpoint.
Querier returns a storage . MergeQuerier combining the remote client queriers of each configured remote read endpoint .