Cancel upstream watches when the discovery chain has been removed
This commit is contained in:
parent
77a263ebbb
commit
affbb28eb5
|
@ -148,6 +148,16 @@ func (s *handlerIngressGateway) handleUpdate(ctx context.Context, u UpdateEvent,
|
|||
|
||||
for uid, cancelFn := range snap.IngressGateway.WatchedDiscoveryChains {
|
||||
if _, ok := watchedSvcs[uid]; !ok {
|
||||
for targetID, cancelUpstreamFn := range snap.IngressGateway.WatchedUpstreams[uid] {
|
||||
s.logger.Debug("stopping watch of target",
|
||||
"upstream", uid,
|
||||
"target", targetID,
|
||||
)
|
||||
delete(snap.IngressGateway.WatchedUpstreams[uid], targetID)
|
||||
delete(snap.IngressGateway.WatchedUpstreamEndpoints[uid], targetID)
|
||||
cancelUpstreamFn()
|
||||
}
|
||||
|
||||
cancelFn()
|
||||
delete(snap.IngressGateway.WatchedDiscoveryChains, uid)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue