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
This commit is contained in:
parent
c6a8ce7991
commit
38f21f3cda
|
|
@ -277,8 +277,8 @@ func GetFullMeasurementSet(ctx context.Context, db *gorm.DB) (*orm.MeasurementSe
|
||||||
measurement.Tag,
|
measurement.Tag,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
if m.CompNSPath != "" && m.CompNSPath == m.BayTag {
|
if measurement.CompNSPath != "" && measurement.CompNSPath == measurement.BayTag {
|
||||||
mSet.CompNSPathToMeasTags[m.CompNSPath] = append(mSet.CompNSPathToMeasTags[m.CompNSPath], m.Tag)
|
mSet.CompNSPathToMeasTags[measurement.CompNSPath] = append(mSet.CompNSPathToMeasTags[measurement.CompNSPath], measurement.Tag)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
|
||||||
|
|
@ -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 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: "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 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 name", token: "nspath.component.rated.attribute", dataObjectType: constants.DataObjectTypeParameter, field: "name"},
|
||||||
{name: "parameter rejects name", token: "nspath.component.rated.attribute", dataObjectType: constants.DataObjectTypeParameter, field: "name", wantErr: common.ErrUnsupportedParameterField},
|
{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 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: "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},
|
{name: "parameter rejects size", token: "nspath.component.rated.attribute", dataObjectType: constants.DataObjectTypeParameter, field: "size", wantErr: common.ErrUnsupportedParameterField},
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,6 @@ type facade struct {
|
||||||
_logger *zap.Logger
|
_logger *zap.Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
const facadeCallerSkip = 2
|
|
||||||
|
|
||||||
// Debug define facade func of debug level log
|
// Debug define facade func of debug level log
|
||||||
func Debug(ctx context.Context, msg string, kv ...any) {
|
func Debug(ctx context.Context, msg string, kv ...any) {
|
||||||
logFacade().log(ctx, zapcore.DebugLevel, msg, kv...)
|
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) {
|
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) {
|
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 {
|
func logFacade() *facade {
|
||||||
fOnce.Do(func() {
|
fOnce.Do(func() {
|
||||||
f = &facade{
|
f = &facade{
|
||||||
_logger: GetLoggerInstance().WithOptions(zap.AddCallerSkip(facadeCallerSkip)),
|
_logger: GetLoggerInstance(),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return f
|
return f
|
||||||
|
|
|
||||||
|
|
@ -1264,14 +1264,6 @@ func runFuzzySearch(ctx context.Context, rdb *redis.Client, searchInput string,
|
||||||
termLastPart = term[lastDotIndex+1:]
|
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 {
|
switch recommendLenType {
|
||||||
case constants.FullRecommendLength:
|
case constants.FullRecommendLength:
|
||||||
if result.Term == "" {
|
if result.Term == "" {
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,14 @@ const (
|
||||||
|
|
||||||
// MeasurementTagHierarchy returns measurements together with their owning
|
// MeasurementTagHierarchy returns measurements together with their owning
|
||||||
// component tags for building the component-to-measurement mapping.
|
// component tags for building the component-to-measurement mapping.
|
||||||
MeasurementTagHierarchy = `SELECT measurement.*, component.tag AS comp_tag
|
MeasurementTagHierarchy = `
|
||||||
FROM measurement LEFT JOIN component
|
SELECT measurement.*,
|
||||||
ON measurement.component_uuid = component.global_uuid`
|
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`
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue