Remove connection from worker if in terminated state and all conns are closed, not just in canceling state

This commit is contained in:
Jeff Mitchell committed 2020-10-01 20:49:13 -04:00
1 parent d1d94c19c8
commit 8615d21a1f
1 file changed
+4 -2
+4 -2
View File
@@ -137,8 +137,10 @@ func (w *Worker) startStatusTicking(cancelCtx context.Context) {
w.sessionInfoMap.Range(func(key, value interface{}) bool {
si := value.(*sessionInfo)
si.Lock()
if time.Until(si.lookupSessionResponse.Expiration.AsTime()) < 0 ||
si.status == pbs.SESSIONSTATUS_SESSIONSTATUS_CANCELING {
switch {
case si.status == pbs.SESSIONSTATUS_SESSIONSTATUS_CANCELING,
si.status == pbs.SESSIONSTATUS_SESSIONSTATUS_TERMINATED,
time.Until(si.lookupSessionResponse.Expiration.AsTime()) < 0:
var toClose int
for k, v := range si.connInfoMap {
if v.closeTime.IsZero() {