Unverified Commit 5bcfca32 authored by Kubernetes Prow Robot's avatar Kubernetes Prow Robot Committed by GitHub

Merge pull request #71881 from DataDog/automated-cherry-pick-of-#71515-upstream-release-1.13

Automated cherry pick of #71515 upstream release 1.13
parents 99078bee de95511d
...@@ -75,10 +75,10 @@ func (q *graceTerminateRSList) remove(rs *listItem) bool { ...@@ -75,10 +75,10 @@ func (q *graceTerminateRSList) remove(rs *listItem) bool {
uniqueRS := rs.String() uniqueRS := rs.String()
if _, ok := q.list[uniqueRS]; ok { if _, ok := q.list[uniqueRS]; ok {
return false
}
delete(q.list, uniqueRS) delete(q.list, uniqueRS)
return true return true
}
return false
} }
func (q *graceTerminateRSList) flushList(handler func(rsToDelete *listItem) (bool, error)) bool { func (q *graceTerminateRSList) flushList(handler func(rsToDelete *listItem) (bool, error)) bool {
...@@ -164,7 +164,10 @@ func (m *GracefulTerminationManager) deleteRsFunc(rsToDelete *listItem) (bool, e ...@@ -164,7 +164,10 @@ func (m *GracefulTerminationManager) deleteRsFunc(rsToDelete *listItem) (bool, e
} }
for _, rs := range rss { for _, rs := range rss {
if rsToDelete.RealServer.Equal(rs) { if rsToDelete.RealServer.Equal(rs) {
if rs.ActiveConn != 0 { // Delete RS with no connections
// For UDP, ActiveConn is always 0
// For TCP, InactiveConn are connections not in ESTABLISHED state
if rs.ActiveConn+rs.InactiveConn != 0 {
return false, nil return false, nil
} }
klog.Infof("Deleting rs: %s", rsToDelete.String()) klog.Infof("Deleting rs: %s", rsToDelete.String())
......
...@@ -1602,7 +1602,7 @@ func (proxier *Proxier) syncEndpoint(svcPortName proxy.ServicePortName, onlyNode ...@@ -1602,7 +1602,7 @@ func (proxier *Proxier) syncEndpoint(svcPortName proxy.ServicePortName, onlyNode
Port: uint16(portNum), Port: uint16(portNum),
} }
klog.V(5).Infof("Using graceful delete to delete: %v", delDest) klog.V(5).Infof("Using graceful delete to delete: %v", uniqueRS)
err = proxier.gracefuldeleteManager.GracefulDeleteRS(appliedVirtualServer, delDest) err = proxier.gracefuldeleteManager.GracefulDeleteRS(appliedVirtualServer, delDest)
if err != nil { if err != nil {
klog.Errorf("Failed to delete destination: %v, error: %v", delDest, err) klog.Errorf("Failed to delete destination: %v, error: %v", delDest, err)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment