(improvement)(Chat) Fix start failed and integration tests failed (#1039)

Co-authored-by: jolunoluo
This commit is contained in:
LXW
2024-05-28 17:59:51 +08:00
committed by GitHub
parent c51c278f33
commit 5064708c56
11 changed files with 25 additions and 72 deletions

View File

@@ -3,8 +3,6 @@ package com.tencent.supersonic.headless.server.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.google.common.collect.Lists;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.common.pojo.enums.AuthType;
@@ -52,7 +50,6 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -61,9 +58,6 @@ import java.util.stream.Collectors;
public class DataSetServiceImpl
extends ServiceImpl<DataSetDOMapper, DataSetDO> implements DataSetService {
protected final Cache<MetaFilter, List<DataSetResp>> dataSetSchemaCache =
CacheBuilder.newBuilder().expireAfterWrite(30, TimeUnit.SECONDS).build();
@Autowired
private DomainService domainService;
@@ -249,11 +243,7 @@ public class DataSetServiceImpl
MetaFilter metaFilter = new MetaFilter();
metaFilter.setStatus(StatusEnum.ONLINE.getCode());
metaFilter.setIds(dataSetIds);
List<DataSetResp> dataSetList = dataSetSchemaCache.getIfPresent(metaFilter);
if (CollectionUtils.isEmpty(dataSetList)) {
dataSetList = getDataSetList(metaFilter);
dataSetSchemaCache.put(metaFilter, dataSetList);
}
List<DataSetResp> dataSetList = getDataSetList(metaFilter);
return dataSetList.stream()
.flatMap(
dataSetResp -> dataSetResp.getAllModels().stream().map(modelId ->

View File

@@ -53,6 +53,7 @@ import com.tencent.supersonic.headless.server.utils.StatUtils;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -91,6 +92,9 @@ public class SchemaServiceImpl implements SchemaService {
private final TagMetaService tagService;
private final TermService termService;
@Value("${s2.schema.cache.enable:true}")
private boolean schemaCacheEnable;
public SchemaServiceImpl(ModelService modelService,
DimensionService dimensionService,
MetricService metricService,
@@ -112,7 +116,10 @@ public class SchemaServiceImpl implements SchemaService {
@SneakyThrows
@Override
public List<DataSetSchemaResp> fetchDataSetSchema(DataSetFilterReq filter) {
List<DataSetSchemaResp> dataSetList = dataSetSchemaCache.getIfPresent(filter);
List<DataSetSchemaResp> dataSetList = Lists.newArrayList();
if (schemaCacheEnable) {
dataSetList = dataSetSchemaCache.getIfPresent(filter);
}
if (CollectionUtils.isEmpty(dataSetList)) {
dataSetList = buildDataSetSchema(filter);
dataSetSchemaCache.put(filter, dataSetList);
@@ -376,7 +383,10 @@ public class SchemaServiceImpl implements SchemaService {
@Override
public SemanticSchemaResp fetchSemanticSchema(SchemaFilterReq schemaFilterReq) {
SemanticSchemaResp semanticSchemaResp = semanticSchemaCache.getIfPresent(schemaFilterReq);
SemanticSchemaResp semanticSchemaResp = null;
if (schemaCacheEnable) {
semanticSchemaResp = semanticSchemaCache.getIfPresent(schemaFilterReq);
}
if (semanticSchemaResp == null) {
semanticSchemaResp = buildSemanticSchema(schemaFilterReq);
semanticSchemaCache.put(schemaFilterReq, semanticSchemaResp);