Skip to content

Commit 1ff428f

Browse files
authored
fix(usage): add missing error filtering for users/admin (#777)
Because - The `TriggerSingleReporter` method was missing the same error filtering logic that exists in `NewUsage` and `StartReporter` methods - When `GetUserAdmin` fails with "users/admin" error, it should be treated as a debug message rather than an error since only Instill Core CE has the default "admin" user - Without this filtering, false alarm errors were being logged when the admin user doesn't exist in other Instill editions This commit - Adds the same error filtering pattern to `TriggerSingleReporter` that already exists in `NewUsage` and `StartReporter` - Changes the error handling to check if the error contains "users/admin" and treats it as a debug log instead of an error log - Ensures consistent error handling across all three methods when dealing with the default admin user lookup - Prevents false alarm error logs in Instill editions that don't have the default admin user
1 parent 288cbf9 commit 1ff428f

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

pkg/usage/usage.go

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"encoding/json"
66
"fmt"
7+
"strings"
78
"time"
89

910
"github.com/gofrs/uuid"
@@ -44,10 +45,15 @@ func NewUsage(ctx context.Context, r repository.Repository, m mgmtpb.MgmtPrivate
4445
logger, _ := logx.GetZapLogger(ctx)
4546

4647
var defaultOwnerUID string
47-
if resp, err := m.GetUserAdmin(ctx, &mgmtpb.GetUserAdminRequest{UserId: DefaultUserID}); err == nil {
48-
defaultOwnerUID = resp.GetUser().GetUid()
48+
if user, err := m.GetUserAdmin(ctx, &mgmtpb.GetUserAdminRequest{UserId: DefaultUserID}); err == nil {
49+
defaultOwnerUID = user.GetUser().GetUid()
50+
} else if strings.Contains(err.Error(), "users/admin") {
51+
// Only Instill Core CE has the default user "admin"
52+
logger.Debug(fmt.Sprintf("error getting default user: %v, use a zero uuid as default owner uid", err))
53+
defaultOwnerUID = uuid.Nil.String()
4954
} else {
5055
logger.Error(err.Error())
56+
return nil
5157
}
5258

5359
reporter, err := usageclient.InitReporter(ctx, usc, usagepb.Session_SERVICE_MODEL, config.Config.Server.Edition, serviceVersion, defaultOwnerUID)
@@ -211,8 +217,12 @@ func (u *usage) StartReporter(ctx context.Context) {
211217
logger, _ := logx.GetZapLogger(ctx)
212218

213219
var defaultOwnerUID string
214-
if resp, err := u.mgmtPrivateServiceClient.GetUserAdmin(ctx, &mgmtpb.GetUserAdminRequest{UserId: DefaultUserID}); err == nil {
215-
defaultOwnerUID = resp.GetUser().GetUid()
220+
if user, err := u.mgmtPrivateServiceClient.GetUserAdmin(ctx, &mgmtpb.GetUserAdminRequest{UserId: DefaultUserID}); err == nil {
221+
defaultOwnerUID = user.GetUser().GetUid()
222+
} else if strings.Contains(err.Error(), "users/admin") {
223+
// Only Instill Core CE has the default user "admin"
224+
logger.Debug(fmt.Sprintf("error getting default user: %v, use a zero uuid as default owner uid", err))
225+
defaultOwnerUID = uuid.Nil.String()
216226
} else {
217227
logger.Error(err.Error())
218228
}
@@ -234,8 +244,12 @@ func (u *usage) TriggerSingleReporter(ctx context.Context) {
234244
logger, _ := logx.GetZapLogger(ctx)
235245

236246
var defaultOwnerUID string
237-
if resp, err := u.mgmtPrivateServiceClient.GetUserAdmin(ctx, &mgmtpb.GetUserAdminRequest{UserId: DefaultUserID}); err == nil {
238-
defaultOwnerUID = resp.GetUser().GetUid()
247+
if user, err := u.mgmtPrivateServiceClient.GetUserAdmin(ctx, &mgmtpb.GetUserAdminRequest{UserId: DefaultUserID}); err == nil {
248+
defaultOwnerUID = user.GetUser().GetUid()
249+
} else if strings.Contains(err.Error(), "users/admin") {
250+
// Only Instill Core CE has the default user "admin"
251+
logger.Debug(fmt.Sprintf("error getting default user: %v, use a zero uuid as default owner uid", err))
252+
defaultOwnerUID = uuid.Nil.String()
239253
} else {
240254
logger.Error(err.Error())
241255
return

0 commit comments

Comments
 (0)