From 7c2de32b622ed24bb5076ee56aabc940955faa86 Mon Sep 17 00:00:00 2001 From: Jian Qiu Date: Tue, 16 Jan 2024 22:13:53 +0800 Subject: [PATCH] fix: try resolve tenant by project id first (#19276) Co-authored-by: Qiu Jian --- pkg/cloudcommon/db/tenantcache.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/cloudcommon/db/tenantcache.go b/pkg/cloudcommon/db/tenantcache.go index a047c4da99..93dbecf35a 100644 --- a/pkg/cloudcommon/db/tenantcache.go +++ b/pkg/cloudcommon/db/tenantcache.go @@ -191,6 +191,14 @@ func (t *STenant) IsExpired() bool { } func (manager *STenantCacheManager) FetchTenantByIdOrNameInDomain(ctx context.Context, idStr string, domainId string) (*STenant, error) { + if !stringutils2.IsUtf8(idStr) { + t, err := manager.FetchTenantById(ctx, idStr) + if t != nil { + return t, nil + } else if err != nil && errors.Cause(err) != sql.ErrNoRows { + return nil, errors.Wrap(err, "FetchTenantById") + } + } return manager.fetchTenant(ctx, idStr, domainId, false, false, func(q *sqlchemy.SQuery) *sqlchemy.SQuery { if stringutils2.IsUtf8(idStr) { return q.Equals("name", idStr)