From 835343d6a568e74e07860803255d46b2a270072f Mon Sep 17 00:00:00 2001 From: Dominic Wong Date: Thu, 6 Aug 2020 22:56:05 +0100 Subject: [PATCH] logs should return for non existent services (#1906) --- runtime/kubernetes/kubernetes.go | 1 + runtime/kubernetes/logs.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/runtime/kubernetes/kubernetes.go b/runtime/kubernetes/kubernetes.go index aa680b7c..76d592f7 100644 --- a/runtime/kubernetes/kubernetes.go +++ b/runtime/kubernetes/kubernetes.go @@ -364,6 +364,7 @@ func (k *kubernetes) Logs(s *runtime.Service, options ...runtime.LogsOption) (ru for _, record := range records { kstream.Chan() <- record } + kstream.Stop() }() return kstream, nil } diff --git a/runtime/kubernetes/logs.go b/runtime/kubernetes/logs.go index 5af51d35..0d5040ce 100644 --- a/runtime/kubernetes/logs.go +++ b/runtime/kubernetes/logs.go @@ -9,6 +9,7 @@ import ( "strconv" "time" + "github.com/micro/go-micro/v3/errors" "github.com/micro/go-micro/v3/runtime" "github.com/micro/go-micro/v3/util/kubernetes/client" "github.com/micro/go-micro/v3/util/log" @@ -105,6 +106,9 @@ func (k *klog) Read() ([]runtime.LogRecord, error) { if err != nil { return nil, err } + if len(pods) == 0 { + return nil, errors.NotFound("runtime.logs", "no such service") + } var records []runtime.LogRecord