diff --git a/changelog/unreleased/fix-natsjskv-registry-2.md b/changelog/unreleased/fix-natsjskv-registry-2.md index bfb72368a..4649c8376 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 0dc59f48d..867d72626 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 }