mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-14 13:47:09 +00:00
(improvement)(Chat) Fix start failed and integration tests failed (#1039)
Co-authored-by: jolunoluo
This commit is contained in:
@@ -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 ->
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user