From 57a727bdff04264c97707229e31f9dd2782dbb02 Mon Sep 17 00:00:00 2001 From: jerryjzhang Date: Thu, 27 Jun 2024 11:50:05 +0800 Subject: [PATCH] (fix)(common)Make sure system exemplar gets loaded before demo chats. --- .../common/service/impl/ExemplarServiceImpl.java | 2 ++ .../supersonic/common/util/SqlFilterUtils.java | 4 ++-- .../headless/chat/corrector/TimeCorrector.java | 1 - .../headless/core/utils/SqlGenerateUtils.java | 8 ++++---- .../headless/server/aspect/DimValueAspect.java | 4 ++-- .../headless/server/utils/QueryReqConverter.java | 16 ++++++++-------- 6 files changed, 18 insertions(+), 17 deletions(-) diff --git a/common/src/main/java/com/tencent/supersonic/common/service/impl/ExemplarServiceImpl.java b/common/src/main/java/com/tencent/supersonic/common/service/impl/ExemplarServiceImpl.java index e774978e8..635666b43 100644 --- a/common/src/main/java/com/tencent/supersonic/common/service/impl/ExemplarServiceImpl.java +++ b/common/src/main/java/com/tencent/supersonic/common/service/impl/ExemplarServiceImpl.java @@ -15,6 +15,7 @@ import dev.langchain4j.store.embedding.RetrieveQueryResult; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; +import org.springframework.core.annotation.Order; import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Service; @@ -24,6 +25,7 @@ import java.util.List; @Service @Slf4j +@Order(0) public class ExemplarServiceImpl implements ExemplarService, CommandLineRunner { private static final String SYS_EXEMPLAR_FILE = "s2ql_exemplar.json"; diff --git a/common/src/main/java/com/tencent/supersonic/common/util/SqlFilterUtils.java b/common/src/main/java/com/tencent/supersonic/common/util/SqlFilterUtils.java index a5c1731cc..214fdf5ba 100644 --- a/common/src/main/java/com/tencent/supersonic/common/util/SqlFilterUtils.java +++ b/common/src/main/java/com/tencent/supersonic/common/util/SqlFilterUtils.java @@ -68,7 +68,7 @@ public class SqlFilterUtils { joiner.add(SPACE + dealFilter(filter, isBizName) + SPACE); } }); - log.info("getWhereClause, where sql : {}", joiner); + log.debug("getWhereClause, where sql : {}", joiner); return joiner.toString(); } @@ -118,7 +118,7 @@ public class SqlFilterUtils { } private String generator(Criterion criterion) { - log.info("criterion :{}", criterion); + log.debug("criterion :{}", criterion); String sqlPart; switch (criterion.getOperator()) { case SQL_PART: diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/corrector/TimeCorrector.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/corrector/TimeCorrector.java index 17d1c4626..8adfa408d 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/corrector/TimeCorrector.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/corrector/TimeCorrector.java @@ -67,7 +67,6 @@ public class TimeCorrector extends BaseSemanticCorrector { //decide whether add date field to where Environment environment = ContextUtils.getBean(Environment.class); String correctorDate = environment.getProperty("s2.corrector.date"); - log.info("correctorDate:{}", correctorDate); if (StringUtils.isNotBlank(correctorDate) && !Boolean.parseBoolean(correctorDate)) { return; } diff --git a/headless/core/src/main/java/com/tencent/supersonic/headless/core/utils/SqlGenerateUtils.java b/headless/core/src/main/java/com/tencent/supersonic/headless/core/utils/SqlGenerateUtils.java index e5b43de55..5aca804ca 100644 --- a/headless/core/src/main/java/com/tencent/supersonic/headless/core/utils/SqlGenerateUtils.java +++ b/headless/core/src/main/java/com/tencent/supersonic/headless/core/utils/SqlGenerateUtils.java @@ -88,7 +88,7 @@ public class SqlGenerateUtils { sb.append(agg.getColumn()).append(" as ").append("value").append(locate).append(","); } String selectSql = sb.substring(0, sb.length() - 1); - log.info("union select sql {}", selectSql); + log.debug("union select sql {}", selectSql); return selectSql; } @@ -176,7 +176,7 @@ public class SqlGenerateUtils { } else if (StringUtils.isNotEmpty(whereFromDate) && StringUtils.isEmpty(whereClauseFromFilter)) { return whereFromDate; } else if (Objects.isNull(whereFromDate) && StringUtils.isEmpty(whereClauseFromFilter)) { - log.info("the current date information is empty, enter the date initialization logic"); + log.debug("the current date information is empty, enter the date initialization logic"); return dateModeUtils.defaultRecentDateInfo(queryParam.getDateInfo()); } return whereClauseFromFilter; @@ -198,7 +198,7 @@ public class SqlGenerateUtils { return dateModeUtils.defaultRecentDateInfo(dateInfo); } - log.info("dateDate:{}", dateDate); + log.debug("dateDate:{}", dateDate); return dateModeUtils.getDateWhereStr(dateInfo, dateDate); } @@ -320,7 +320,7 @@ public class SqlGenerateUtils { } if (!CollectionUtils.isEmpty(replace)) { String expr = SqlReplaceHelper.replaceExpression(expression, replace); - log.info("derived measure {}->{}", expression, expr); + log.debug("derived measure {}->{}", expression, expr); return expr; } } diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/aspect/DimValueAspect.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/aspect/DimValueAspect.java index e93037f80..c645b1027 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/aspect/DimValueAspect.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/aspect/DimValueAspect.java @@ -88,7 +88,7 @@ public class DimValueAspect { QuerySqlReq querySqlReq = (QuerySqlReq) args[0]; MetaFilter metaFilter = new MetaFilter(Lists.newArrayList(querySqlReq.getModelIds())); String sql = querySqlReq.getSql(); - log.info("correctorSql before replacing:{}", sql); + log.debug("correctorSql before replacing:{}", sql); List fieldExpressionList = SqlSelectHelper.getWhereExpressions(sql); List dimensions = dimensionService.getDimensions(metaFilter); Set fieldNames = dimensions.stream().map(SchemaItem::getName).collect(Collectors.toSet()); @@ -117,7 +117,7 @@ public class DimValueAspect { } } sql = SqlReplaceHelper.replaceValue(sql, filedNameToValueMap); - log.info("correctorSql after replacing:{}", sql); + log.debug("correctorSql after replacing:{}", sql); querySqlReq.setSql(sql); Map> techNameToBizName = getTechNameToBizName(dimensions); diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/QueryReqConverter.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/QueryReqConverter.java index 4c8cb4a56..2565800b9 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/QueryReqConverter.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/QueryReqConverter.java @@ -76,7 +76,7 @@ public class QueryReqConverter { // correct order item is same as agg alias String reqSql = querySQLReq.getSql(); querySQLReq.setSql(SqlReplaceHelper.replaceAggAliasOrderItem(querySQLReq.getSql())); - log.info("replaceOrderAggSameAlias {} -> {}", reqSql, querySQLReq.getSql()); + log.debug("replaceOrderAggSameAlias {} -> {}", reqSql, querySQLReq.getSql()); //4.build MetricTables List allFields = SqlSelectHelper.getAllFields(querySQLReq.getSql()); List metricSchemas = getMetrics(semanticSchemaResp, allFields); @@ -122,7 +122,7 @@ public class QueryReqConverter { queryStructReq.setDateInfo(queryStructUtils.getDateConfBySql(querySQLReq.getSql())); queryStructReq.setDataSetId(querySQLReq.getDataSetId()); queryStructReq.setQueryType(getQueryType(aggOption)); - log.info("QueryReqConverter queryStructReq[{}]", queryStructReq); + log.debug("QueryReqConverter queryStructReq[{}]", queryStructReq); QueryParam queryParam = new QueryParam(); convert(queryStructReq, queryParam); QueryStatement queryStatement = new QueryStatement(); @@ -161,7 +161,7 @@ public class QueryReqConverter { long defaultAggNullCnt = metricSchemas.stream() .filter(m -> Objects.isNull(m.getDefaultAgg()) || StringUtils.isBlank(m.getDefaultAgg())).count(); if (defaultAggNullCnt > 0) { - log.info("getAggOption find null defaultAgg metric set to NATIVE"); + log.debug("getAggOption find null defaultAgg metric set to NATIVE"); return AggOption.OUTER; } return AggOption.DEFAULT; @@ -170,9 +170,9 @@ public class QueryReqConverter { private void convertNameToBizName(QuerySqlReq querySqlReq, SemanticSchemaResp semanticSchemaResp) { Map fieldNameToBizNameMap = getFieldNameToBizNameMap(semanticSchemaResp); String sql = querySqlReq.getSql(); - log.info("dataSetId:{},convert name to bizName before:{}", querySqlReq.getDataSetId(), sql); + log.debug("dataSetId:{},convert name to bizName before:{}", querySqlReq.getDataSetId(), sql); String replaceFields = SqlReplaceHelper.replaceFields(sql, fieldNameToBizNameMap, true); - log.info("dataSetId:{},convert name to bizName after:{}", querySqlReq.getDataSetId(), replaceFields); + log.debug("dataSetId:{},convert name to bizName after:{}", querySqlReq.getDataSetId(), replaceFields); querySqlReq.setSql(replaceFields); } @@ -240,7 +240,7 @@ public class QueryReqConverter { String sql = querySqlReq.getSql(); sql = SqlReplaceHelper.replaceTable(sql, Constants.TABLE_PREFIX + querySqlReq.getDataSetId()); - log.info("correctTableName after:{}", sql); + log.debug("correctTableName after:{}", sql); querySqlReq.setSql(sql); } @@ -286,7 +286,7 @@ public class QueryReqConverter { m.getMetricDefineByMeasureParams()))) { return; } - log.info("begin to generateDerivedMetric {} [{}]", aggOption, metrics); + log.debug("begin to generateDerivedMetric {} [{}]", aggOption, metrics); Set allFields = new HashSet<>(); Map allMeasures = new HashMap<>(); semanticSchemaResp.getModelResps().forEach(modelResp -> { @@ -310,7 +310,7 @@ public class QueryReqConverter { visitedMetric, deriveMetric, deriveDimension); replaces.put(metricResp.getBizName(), expr); - log.info("derived metric {}->{}", metricResp.getBizName(), expr); + log.debug("derived metric {}->{}", metricResp.getBizName(), expr); } else { measures.add(metricResp.getBizName()); }