K8s: Fix legacy stats (#99623)

This commit is contained in:
Stephanie Hingtgen 2025-01-28 02:08:48 -07:00 committed by GitHub
parent 3ed138543d
commit 9949a56f3b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -31,7 +31,17 @@ func (s *LegacyStatsGetter) GetStats(ctx context.Context, in *resource.ResourceS
rsp := &resource.ResourceStatsResponse{}
err = helper.DB.WithDbSession(ctx, func(sess *sqlstore.DBSession) error {
fn := func(table, where, g, r string) error {
fn := func(table, where, g, r string, existCheck bool) error {
// if existCheck is true, do not error out if the table does not exist
if existCheck {
exists, err := sess.IsTableExist(helper.Table(table))
if !exists {
return nil
} else if err != nil {
return err
}
}
count, err := sess.Table(helper.Table(table)).Where(where, info.OrgID, in.Folder).Count()
if err != nil {
return err
@ -47,25 +57,25 @@ func (s *LegacyStatsGetter) GetStats(ctx context.Context, in *resource.ResourceS
group := "sql-fallback"
// Legacy alert rule table
err = fn("alert_rule", "org_id=? AND dashboard_uid=?", group, "alertrules")
err = fn("alert_rule", "org_id=? AND dashboard_uid=?", group, "alertrules", false)
if err != nil {
return err
}
// Legacy dashboard table
err = fn("dashboard", "org_id=? AND folder_uid=?", group, "dashboards")
err = fn("dashboard", "org_id=? AND folder_uid=?", group, "dashboards", true)
if err != nil {
return err
}
// Legacy folder table
err = fn("folder", "org_id=? AND parent_uid=?", group, "folders")
err = fn("folder", "org_id=? AND parent_uid=?", group, "folders", true)
if err != nil {
return err
}
// Legacy library_elements table
err = fn("library_element", "org_id=? AND folder_uid=?", group, "library_elements")
err = fn("library_element", "org_id=? AND folder_uid=?", group, "library_elements", false)
if err != nil {
return err
}