diff --git a/changelog/unreleased/fix-natsjskv-registry-2.md b/changelog/unreleased/fix-natsjskv-registry-2.md index bfb72368ac..4649c8376b 100644 --- a/changelog/unreleased/fix-natsjskv-registry-2.md +++ b/changelog/unreleased/fix-natsjskv-registry-2.md @@ -2,4 +2,5 @@ Bugfix: Repair nats-js-kv registry The registry would always send traffic to only one pod. This is now fixed and load should be spread evenly. Also implements watcher method so the cache can use it. +https://github.com/owncloud/ocis/pull/9726 https://github.com/owncloud/ocis/pull/9656 diff --git a/ocis-pkg/natsjsregistry/watcher.go b/ocis-pkg/natsjsregistry/watcher.go index 0dc59f48db..867d726261 100644 --- a/ocis-pkg/natsjsregistry/watcher.go +++ b/ocis-pkg/natsjsregistry/watcher.go @@ -47,13 +47,14 @@ func (w *Watcher) Next() (*registry.Result, error) { return nil, errors.New("watcher stopped") } - var svc *registry.Service - if err := json.Unmarshal(kve.Value.Data, svc); err != nil { + var svc registry.Service + if err := json.Unmarshal(kve.Value.Data, &svc); err != nil { + _ = w.stop() return nil, err } return ®istry.Result{ - Service: svc, + Service: &svc, Action: kve.Action, }, nil }