diff --git a/agent/cache-types/streaming_health_services.go b/agent/cache-types/streaming_health_services.go index efb1dba87..d150a43f4 100644 --- a/agent/cache-types/streaming_health_services.go +++ b/agent/cache-types/streaming_health_services.go @@ -39,7 +39,7 @@ type StreamingHealthServices struct { // so using a shorter TTL ensures the cache entry expires sooner. func (c *StreamingHealthServices) RegisterOptions() cache.RegisterOptions { opts := c.RegisterOptionsBlockingRefresh.RegisterOptions() - opts.LastGetTTL = 10 * time.Minute + opts.LastGetTTL = 20 * time.Minute return opts } diff --git a/agent/health_endpoint.go b/agent/health_endpoint.go index b37c47e16..0d8e2f1e8 100644 --- a/agent/health_endpoint.go +++ b/agent/health_endpoint.go @@ -219,7 +219,10 @@ func (s *HTTPHandlers) healthServiceNodes(resp http.ResponseWriter, req *http.Re return nil, nil } - useStreaming := s.agent.config.UseStreamingBackend && args.MinQueryIndex > 0 + // useStreaming when a blocking query is requested, but not when the near + // query parameter is set, because that requires data only available to the server + // to sort the results. + useStreaming := s.agent.config.UseStreamingBackend && args.MinQueryIndex > 0 && args.Source.Node == "" args.QueryOptions.UseCache = s.agent.config.HTTPUseCache && (args.QueryOptions.UseCache || useStreaming) out, md, err := s.agent.rpcClientHealth.ServiceNodes(req.Context(), args) diff --git a/agent/submatview/materializer.go b/agent/submatview/materializer.go index 0bed8bfc2..b5a515754 100644 --- a/agent/submatview/materializer.go +++ b/agent/submatview/materializer.go @@ -181,7 +181,6 @@ func (m *Materializer) reset() { m.view.Reset() m.index = 0 - m.retryWaiter.Reset() } func (m *Materializer) updateView(events []*pbsubscribe.Event, index uint64) error {