From 38f21f3cda2d96a22ea3f61ba13023e4c3947fbd Mon Sep 17 00:00:00 2001 From: douxu Date: Thu, 16 Jul 2026 16:59:11 +0800 Subject: [PATCH] fix: resolve rebase regressions in measurement queries and logging - restore measurement hierarchy namespace and bay joins - fix measurement mapping loop variable references - remove stale grid fuzzy-search filtering - correct logger caller skip handling - align parameter field validation tests with supported fields --- database/query_component_measurement.go | 4 ++-- handler/data_object_attribute_query_test.go | 4 ++-- logger/facede.go | 6 ++---- model/redis_recommend.go | 8 -------- sql/data_object_measurement.go | 13 ++++++++++--- 5 files changed, 16 insertions(+), 19 deletions(-) diff --git a/database/query_component_measurement.go b/database/query_component_measurement.go index d2704bd..66f6811 100644 --- a/database/query_component_measurement.go +++ b/database/query_component_measurement.go @@ -277,8 +277,8 @@ func GetFullMeasurementSet(ctx context.Context, db *gorm.DB) (*orm.MeasurementSe measurement.Tag, ) } - if m.CompNSPath != "" && m.CompNSPath == m.BayTag { - mSet.CompNSPathToMeasTags[m.CompNSPath] = append(mSet.CompNSPathToMeasTags[m.CompNSPath], m.Tag) + if measurement.CompNSPath != "" && measurement.CompNSPath == measurement.BayTag { + mSet.CompNSPathToMeasTags[measurement.CompNSPath] = append(mSet.CompNSPathToMeasTags[measurement.CompNSPath], measurement.Tag) } } return nil diff --git a/handler/data_object_attribute_query_test.go b/handler/data_object_attribute_query_test.go index 2a3dc1e..3e2813a 100644 --- a/handler/data_object_attribute_query_test.go +++ b/handler/data_object_attribute_query_test.go @@ -27,8 +27,8 @@ func TestValidateDataObjectField(t *testing.T) { {name: "bay field is case insensitive", token: "nspath.component.bay.measurement", dataObjectType: constants.DataObjectTypeMeasurement, field: "DATA_SOURCE"}, {name: "bay unsupported", token: "nspath.component.bay.measurement", dataObjectType: constants.DataObjectTypeMeasurement, field: "unknown", wantErr: common.ErrUnsupportedMeasurementField}, {name: "parameter value", token: "nspath.component.rated.attribute", dataObjectType: constants.DataObjectTypeParameter, field: "value"}, - {name: "parameter mode", token: "nspath.component.rated.attribute", dataObjectType: constants.DataObjectTypeParameter, field: "mode"}, - {name: "parameter rejects name", token: "nspath.component.rated.attribute", dataObjectType: constants.DataObjectTypeParameter, field: "name", wantErr: common.ErrUnsupportedParameterField}, + {name: "parameter name", token: "nspath.component.rated.attribute", dataObjectType: constants.DataObjectTypeParameter, field: "name"}, + {name: "parameter rejects mode", token: "nspath.component.rated.attribute", dataObjectType: constants.DataObjectTypeParameter, field: "mode", wantErr: common.ErrUnsupportedParameterField}, {name: "component name", token: "nspath.component.component.name", dataObjectType: constants.DataObjectTypeParameter, field: "name"}, {name: "component rejects mode", token: "nspath.component.component.name", dataObjectType: constants.DataObjectTypeParameter, field: "mode", wantErr: common.ErrUnsupportedParameterField}, {name: "parameter rejects size", token: "nspath.component.rated.attribute", dataObjectType: constants.DataObjectTypeParameter, field: "size", wantErr: common.ErrUnsupportedParameterField}, diff --git a/logger/facede.go b/logger/facede.go index 8df9ea0..0e27628 100644 --- a/logger/facede.go +++ b/logger/facede.go @@ -18,8 +18,6 @@ type facade struct { _logger *zap.Logger } -const facadeCallerSkip = 2 - // Debug define facade func of debug level log func Debug(ctx context.Context, msg string, kv ...any) { logFacade().log(ctx, zapcore.DebugLevel, msg, kv...) @@ -41,7 +39,7 @@ func Error(ctx context.Context, msg string, kv ...any) { } func (f *facade) log(ctx context.Context, lvl zapcore.Level, msg string, kv ...any) { - f.logSkip(ctx, lvl, 1, msg, kv...) + f.logSkip(ctx, lvl, 0, msg, kv...) } func (f *facade) logSkip(ctx context.Context, lvl zapcore.Level, extraSkip int, msg string, kv ...any) { @@ -73,7 +71,7 @@ func InfoSkip(ctx context.Context, extraSkip int, msg string, kv ...any) { func logFacade() *facade { fOnce.Do(func() { f = &facade{ - _logger: GetLoggerInstance().WithOptions(zap.AddCallerSkip(facadeCallerSkip)), + _logger: GetLoggerInstance(), } }) return f diff --git a/model/redis_recommend.go b/model/redis_recommend.go index 8a5a803..6c2aa63 100644 --- a/model/redis_recommend.go +++ b/model/redis_recommend.go @@ -1264,14 +1264,6 @@ func runFuzzySearch(ctx context.Context, rdb *redis.Client, searchInput string, termLastPart = term[lastDotIndex+1:] } - if recommendLenType == constants.FullRecommendLength && hierarchy == constants.GridRecommendHierarchyType { - exists, err := rdb.SIsMember(ctx, constants.RedisAllGridSetKey, termLastPart).Result() - if err != nil || !exists { - logger.Info(ctx, "query key by redis fuzzy search failed or term not in redis all grid set", "query_key", fuzzyInput, "exists", exists, "error", err) - continue - } - } - switch recommendLenType { case constants.FullRecommendLength: if result.Term == "" { diff --git a/sql/data_object_measurement.go b/sql/data_object_measurement.go index 641a201..5835412 100644 --- a/sql/data_object_measurement.go +++ b/sql/data_object_measurement.go @@ -76,7 +76,14 @@ const ( // MeasurementTagHierarchy returns measurements together with their owning // component tags for building the component-to-measurement mapping. - MeasurementTagHierarchy = `SELECT measurement.*, component.tag AS comp_tag - FROM measurement LEFT JOIN component - ON measurement.component_uuid = component.global_uuid` + MeasurementTagHierarchy = ` + SELECT measurement.*, + component.tag AS comp_tag, + component.nspath AS comp_nspath, + bay.tag AS bay_tag + FROM measurement + LEFT JOIN component + ON measurement.component_uuid = component.global_uuid + LEFT JOIN bay + ON measurement.bay_uuid = bay.bay_uuid` )