Browse Source

return zero length value when observer is not found

Shelikhoo 4 years ago
parent
commit
44040ca684
1 changed files with 4 additions and 2 deletions
  1. 4 2
      app/router/strategy_leastload.go

+ 4 - 2
app/router/strategy_leastload.go

@@ -144,13 +144,15 @@ func (s *LeastLoadStrategy) getNodes(candidates []string, maxRTT time.Duration)
 	if s.settings.ObserverTag == "" {
 		observeResult, err := s.observer.GetObservation(s.ctx)
 		if err != nil {
-			newError("cannot get observation").Base(err)
+			newError("cannot get observation").Base(err).WriteToLog()
+			return make([]*node, 0)
 		}
 		result = observeResult
 	} else {
 		observeResult, err := common.Must2(s.observer.(features.TaggedFeatures).GetFeaturesByTag(s.settings.ObserverTag)).(extension.Observatory).GetObservation(s.ctx)
 		if err != nil {
-			newError("cannot get observation").Base(err)
+			newError("cannot get observation").Base(err).WriteToLog()
+			return make([]*node, 0)
 		}
 		result = observeResult
 	}