Skip to content

Commit 0308758

Browse files
authored
fix: add missing endpointslice delete handler (#16)
Signed-off-by: Andres Morey <[email protected]>
1 parent f136c1d commit 0308758

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

dispatcher.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -301,15 +301,19 @@ func (d *Dispatcher) Start() {
301301

302302
// add event handler
303303
reg, _ := d.informer.AddEventHandler(cache.ResourceEventHandlerFuncs{
304-
AddFunc: func(obj interface{}) {
304+
AddFunc: func(obj any) {
305305
es := obj.(*discoveryv1.EndpointSlice)
306306
d.handleAddEndpointSlice(es)
307307
},
308-
UpdateFunc: func(oldObj interface{}, newObj interface{}) {
308+
UpdateFunc: func(oldObj any, newObj any) {
309309
esOld := oldObj.(*discoveryv1.EndpointSlice)
310310
esNew := newObj.(*discoveryv1.EndpointSlice)
311311
d.handleUpdateEndpointSlice(esOld, esNew)
312312
},
313+
DeleteFunc: func(obj any) {
314+
es := obj.(*discoveryv1.EndpointSlice)
315+
d.handleDeleteEndpointSlice(es)
316+
},
313317
})
314318
d.informerReg = reg
315319

@@ -352,6 +356,12 @@ func (d *Dispatcher) handleUpdateEndpointSlice(esOld *discoveryv1.EndpointSlice,
352356
d.updateState(toAdd.ToSlice(), toDelete.ToSlice())
353357
}
354358

359+
// Handle delete
360+
func (d *Dispatcher) handleDeleteEndpointSlice(es *discoveryv1.EndpointSlice) {
361+
toDelete := getServersFromEndpointSlice(es)
362+
d.updateState(nil, toDelete)
363+
}
364+
355365
// Adds and deletes ips, updates clientconn state, publishes change to eventbus
356366
func (d *Dispatcher) updateState(toAdd []server, toDelete []server) {
357367
d.mu.Lock()
@@ -378,7 +388,6 @@ func (d *Dispatcher) updateState(toAdd []server, toDelete []server) {
378388
for i, server := range servers {
379389
addrs[i] = resolver.Address{Addr: fmt.Sprintf("%s:%s", server.ip, d.connectArgs.Port)}
380390
}
381-
382391
d.resolver.UpdateState(resolver.State{Addresses: addrs})
383392

384393
d.mu.Unlock()

0 commit comments

Comments
 (0)