This is an automated email from the ASF dual-hosted git repository. xxyu pushed a commit to branch kylin5 in repository https://gitbox.apache.org/repos/asf/kylin.git
commit 9501464d6bf358a60c0503f98e2599f948724aaf Author: sibing.zhang <1948879...@qq.com> AuthorDate: Thu Dec 8 17:52:30 2022 +0800 Update --- .../org/apache/kylin/common/KylinConfigBase.java | 10 ++++-- .../kylin/rest/controller/v2/JobControllerV2.java | 3 +- .../rest/controller/v2/JobControllerV2Test.java | 42 +--------------------- .../rest/controller/v2/NModelControllerV2.java | 1 + 4 files changed, 11 insertions(+), 45 deletions(-) diff --git a/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index e64192aa3f..4d27043511 100644 --- a/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -617,7 +617,7 @@ public abstract class KylinConfigBase implements Serializable { String uuid = RandomUtil.randomUUIDStr().toUpperCase(Locale.ROOT).substring(0, 6); String packageName = DIAG_ID_PREFIX + new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss", Locale.getDefault(Locale.Category.FORMAT)) - .format(new Date()) + .format(new Date()) + "_" + uuid; String workDir = KylinConfigBase.getKylinHomeWithoutWarn(); String diagPath = "diag_dump/" + packageName; @@ -2036,7 +2036,7 @@ public abstract class KylinConfigBase implements Serializable { String value = getOptional("kylin.query.table-detect-transformers"); return value == null ? new String[] { POWER_BI_CONVERTER, "org.apache.kylin.query.util.DefaultQueryTransformer", - "org.apache.kylin.query.util.EscapeTransformer" } + "org.apache.kylin.query.util.EscapeTransformer" } : getOptionalStringArray("kylin.query.table-detect-transformers", new String[0]); } @@ -2978,7 +2978,7 @@ public abstract class KylinConfigBase implements Serializable { } private double getConfigItemDoubleValue(String configItem, double defaultDoubleValue, double rangeStart, - double rangeEnd) { + double rangeEnd) { double resultValue = defaultDoubleValue; try { resultValue = Integer.parseInt(getOptional(configItem, String.valueOf(defaultDoubleValue))); @@ -3637,6 +3637,10 @@ public abstract class KylinConfigBase implements Serializable { return Boolean.parseBoolean(getOptional("kylin.build.resource.skip-resource-check", FALSE)); } + public boolean useTableIndexAnswerSelectStarEnabled() { + return Boolean.parseBoolean(getOptional("kylin.query.use-tableindex-answer-select-star.enabled", FALSE)); + } + public int getSecondStorageSkippingIndexGranularity() { int granularity = Integer.parseInt(getOptional("kylin.second-storage.skipping-index.granularity", "3")); return granularity <= 0 ? 3 : granularity; diff --git a/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/v2/JobControllerV2.java b/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/v2/JobControllerV2.java index 0ca032a5c2..414563adf8 100644 --- a/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/v2/JobControllerV2.java +++ b/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/v2/JobControllerV2.java @@ -32,6 +32,7 @@ import org.apache.kylin.job.constant.JobActionEnum; import org.apache.kylin.job.constant.JobStatusEnum; import org.apache.kylin.rest.controller.BaseController; import org.apache.kylin.rest.request.JobFilter; +import org.apache.kylin.rest.response.DataResult; import org.apache.kylin.rest.response.EnvelopeResponse; import org.apache.kylin.rest.response.ExecutableResponse; import org.apache.kylin.rest.service.JobService; @@ -120,7 +121,7 @@ public class JobControllerV2 extends BaseController { Map<String, Object> result = getDataResponse("jobs", executables, pageOffset, pageSize); return new EnvelopeResponse<>(KylinException.CODE_SUCCESS, result, ""); } - + @ApiOperation(value = "getJob", tags = { "DW" }) @GetMapping(value = "/{jobId}") @ResponseBody diff --git a/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/v2/JobControllerV2Test.java b/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/v2/JobControllerV2Test.java index d027f6bad3..a5ef02f54a 100644 --- a/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/v2/JobControllerV2Test.java +++ b/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/v2/JobControllerV2Test.java @@ -33,6 +33,7 @@ import org.apache.kylin.rest.response.ExecutableResponse; import org.apache.kylin.rest.service.JobService; import org.apache.kylin.rest.util.AclEvaluate; import org.apache.kylin.rest.util.AclUtil; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; @@ -204,45 +205,4 @@ public class JobControllerV2Test extends NLocalFileMetadataTestCase { .andExpect(MockMvcResultMatchers.status().isOk()); } - - @Test - public void testGetJobsException_pageOffset_pageSize() throws Exception { - List<ExecutableResponse> jobs = new ArrayList<>(); - List<String> jobNames = Lists.newArrayList(); - JobFilter jobFilter = new JobFilter(Lists.newArrayList("NEW"), jobNames, 4, "", "", "default", "job_name", - false); - Mockito.when(jobService.listJobs(jobFilter)).thenReturn(jobs); - mockMvc.perform(MockMvcRequestBuilders.get("/api/jobs").contentType(MediaType.APPLICATION_JSON) - .param("projectName", "default").param("pageOffset", "a").param("pageSize", "10") - .param("timeFilter", "1").param("jobName", "").param("status", "0") - .accept(MediaType.parseMediaType(HTTP_VND_APACHE_KYLIN_V2_JSON))) - .andExpect(MockMvcResultMatchers.status().isBadRequest()); - - mockMvc.perform(MockMvcRequestBuilders.get("/api/jobs").contentType(MediaType.APPLICATION_JSON) - .param("projectName", "default").param("pageOffset", "-1").param("pageSize", "10") - .param("timeFilter", "1").param("jobName", "").param("status", "0") - .accept(MediaType.parseMediaType(HTTP_VND_APACHE_KYLIN_V2_JSON))) - .andExpect(MockMvcResultMatchers.status().is5xxServerError()); - - mockMvc.perform(MockMvcRequestBuilders.get("/api/jobs").contentType(MediaType.APPLICATION_JSON) - .param("projectName", "default").param("pageOffset", "1").param("pageSize", "-1") - .param("timeFilter", "1").param("jobName", "").param("status", "0") - .accept(MediaType.parseMediaType(HTTP_VND_APACHE_KYLIN_V2_JSON))) - .andExpect(MockMvcResultMatchers.status().is5xxServerError()); - - mockMvc.perform(MockMvcRequestBuilders.get("/api/jobs").contentType(MediaType.APPLICATION_JSON) - .param("projectName", "default").param("pageOffset", "1").param("pageSize", "a") - .param("timeFilter", "1").param("jobName", "").param("status", "0") - .accept(MediaType.parseMediaType(HTTP_VND_APACHE_KYLIN_V2_JSON))) - .andExpect(MockMvcResultMatchers.status().isBadRequest()); - - mockMvc.perform(MockMvcRequestBuilders.get("/api/jobs").contentType(MediaType.APPLICATION_JSON) - .param("projectName", "default").param("pageOffset", "1").param("pageSize", "10") - .param("timeFilter", "1").param("jobName", "").param("status", "0") - .accept(MediaType.parseMediaType(HTTP_VND_APACHE_KYLIN_V2_JSON))) - .andExpect(MockMvcResultMatchers.status().isOk()); - - - } - } diff --git a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/v2/NModelControllerV2.java b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/v2/NModelControllerV2.java index ac9d46580f..224b68c6a8 100644 --- a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/v2/NModelControllerV2.java +++ b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/v2/NModelControllerV2.java @@ -21,6 +21,7 @@ import static org.apache.kylin.common.constant.HttpConstant.HTTP_VND_APACHE_KYLI import static org.apache.kylin.common.exception.code.ErrorCodeServer.MODEL_ID_NOT_EXIST; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map;