Merge pull request #4381 from openziti/fix/api-session-enforcer-delete-meter

Mark the api session enforcer delete meter on every delete attempt
This commit is contained in:
Paul Lorenz
2026-09-22 13:52:53 -04:00
committed by GitHub
2 changed files with 6 additions and 1 deletions
@@ -108,16 +108,20 @@ func (s *ApiSessionEnforcer) Run() error {
logrus.Debugf("found %v expired api-sessions to remove", len(ids))
ctx := change.New().SetSourceType("api-session.enforcer").SetChangeAuthorType(change.AuthorTypeController)
deleted := int64(len(ids))
if err = s.appEnv.GetManagers().ApiSession.DeleteBatch(ids, ctx); err != nil {
logrus.WithError(err).Error("failure while batch deleting expired api sessions")
deleted = 0
for _, id := range ids {
if err = s.appEnv.GetManagers().ApiSession.Delete(id, ctx); err != nil {
logrus.WithError(err).Errorf("failure while deleting expired api session: %v", id)
} else {
deleted++
}
}
s.deleteMeter.Mark(int64(len(ids)))
}
s.deleteMeter.Mark(deleted)
}
return nil
@@ -82,6 +82,7 @@ func (ctx *enforcerTestContext) testSessionsCleanup() {
}
ctx.NoError(enforcer.Run())
ctx.Equal(int64(1), enforcer.deleteMeter.Count())
done, err := ctx.GetStores().EventualEventer.Trigger()
ctx.NoError(err)