mirror of https://github.com/hashicorp/consul
Backport of fix(mesh-gateway): remove deregistered service from mesh gateway into release/1.14.x (#15284)
* backport of commit 8083bba320
Co-authored-by: cskh <hui.kang@hashicorp.com>
pull/15286/head
parent
8071715461
commit
0f05c4741e
|
@ -0,0 +1,3 @@
|
|||
```release-note:bug
|
||||
proxycfg(mesh-gateway): Fix issue where deregistered services are not removed from mesh-gateway clusters.
|
||||
```
|
|
@ -258,6 +258,9 @@ func (s *handlerMeshGateway) handleUpdate(ctx context.Context, u UpdateEvent, sn
|
|||
// Do those endpoints get cleaned up some other way?
|
||||
delete(snap.MeshGateway.WatchedServices, sid)
|
||||
cancelFn()
|
||||
|
||||
// always remove the sid from the ServiceGroups when un-watch the service
|
||||
delete(snap.MeshGateway.ServiceGroups, sid)
|
||||
}
|
||||
}
|
||||
snap.MeshGateway.WatchedServicesSet = true
|
||||
|
|
|
@ -482,6 +482,10 @@ func (c *ConfigSnapshot) MeshGatewayValidExportedServices() []structs.ServiceNam
|
|||
continue // not possible
|
||||
}
|
||||
|
||||
if _, ok := c.MeshGateway.ServiceGroups[svc]; !ok {
|
||||
continue // unregistered services
|
||||
}
|
||||
|
||||
chain, ok := c.MeshGateway.DiscoveryChain[svc]
|
||||
if !ok {
|
||||
continue // ignore; not ready
|
||||
|
|
Loading…
Reference in New Issue