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 6fbd7b103cf89908a66d8b2e8a725df91303b679
Author: Zhixiong Chen <c...@apache.org>
AuthorDate: Thu Nov 3 14:21:08 2022 +0800

    [DIRTY] check multi partition column in load data
    
    Co-authored-by: chenzhx <c...@apache.io>
---
 .../model_desc/acfde546-2cc9-4eec-bc92-e3bd46d4e2ee.json            | 6 ++++++
 .../model_desc/acfde546-2cc9-4eec-bc92-e3bd46d4e2ee.json            | 6 ++++++
 .../src/main/java/io/kyligence/kap/clickhouse/job/DataLoader.java   | 6 ++++--
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git 
a/src/second-storage/clickhouse-it/src/test/resources/ut_meta/metadata/table_index_incremental/model_desc/acfde546-2cc9-4eec-bc92-e3bd46d4e2ee.json
 
b/src/second-storage/clickhouse-it/src/test/resources/ut_meta/metadata/table_index_incremental/model_desc/acfde546-2cc9-4eec-bc92-e3bd46d4e2ee.json
index ddb2af4e3e..29230d6c3c 100644
--- 
a/src/second-storage/clickhouse-it/src/test/resources/ut_meta/metadata/table_index_incremental/model_desc/acfde546-2cc9-4eec-bc92-e3bd46d4e2ee.json
+++ 
b/src/second-storage/clickhouse-it/src/test/resources/ut_meta/metadata/table_index_incremental/model_desc/acfde546-2cc9-4eec-bc92-e3bd46d4e2ee.json
@@ -5,6 +5,12 @@
   "owner": "ADMIN",
   "join_tables": [],
   "all_named_columns": [
+    {
+      "id": 1,
+      "name": "TEST_KYLIN_FACT_CAL_DT",
+      "column": "TEST_KYLIN_FACT.CAL_DT",
+      "status": "TOMB"
+    },
     {
       "id": 2,
       "name": "TEST_KYLIN_FACT_ORDER_ID",
diff --git 
a/src/second-storage/clickhouse-it/src/test/resources/ut_meta/metadata/table_index_incremental_with_int_date/model_desc/acfde546-2cc9-4eec-bc92-e3bd46d4e2ee.json
 
b/src/second-storage/clickhouse-it/src/test/resources/ut_meta/metadata/table_index_incremental_with_int_date/model_desc/acfde546-2cc9-4eec-bc92-e3bd46d4e2ee.json
index c5c59ff945..613e26508a 100644
--- 
a/src/second-storage/clickhouse-it/src/test/resources/ut_meta/metadata/table_index_incremental_with_int_date/model_desc/acfde546-2cc9-4eec-bc92-e3bd46d4e2ee.json
+++ 
b/src/second-storage/clickhouse-it/src/test/resources/ut_meta/metadata/table_index_incremental_with_int_date/model_desc/acfde546-2cc9-4eec-bc92-e3bd46d4e2ee.json
@@ -5,6 +5,12 @@
   "owner": "ADMIN",
   "join_tables": [],
   "all_named_columns": [
+    {
+      "id": 1,
+      "name": "TEST_KYLIN_FACT_CAL_DT",
+      "column": "TEST_KYLIN_FACT_WITH_INT_DATE.CAL_DT",
+      "status": "TOMB"
+    },
     {
       "id": 2,
       "name": "TEST_KYLIN_FACT_ORDER_ID",
diff --git 
a/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/DataLoader.java
 
b/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/DataLoader.java
index a9dd394df2..ae3e2b9905 100644
--- 
a/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/DataLoader.java
+++ 
b/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/DataLoader.java
@@ -43,6 +43,7 @@ import 
io.kyligence.kap.secondstorage.util.SecondStorageDateUtils;
 import lombok.Getter;
 import lombok.val;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.kylin.metadata.model.NDataModel;
 
 @Slf4j
 public class DataLoader {
@@ -182,8 +183,9 @@ public class DataLoader {
                 if (isIncremental) {
                     String partitionColName = 
loadInfo.model.getPartitionDesc().getPartitionDateColumn();
                     val dateCol = loadInfo.model.getAllNamedColumns().stream()
-                            .filter(column -> 
column.getAliasDotColumn().equals(partitionColName)).findFirst()
-                            .orElseThrow(
+                            .filter(column -> 
column.getAliasDotColumn().equals(partitionColName)
+                                    && 
NDataModel.ColumnStatus.DIMENSION.equals(column.getStatus()))
+                            .findFirst().orElseThrow(
                                     () -> new IllegalStateException("can't 
find partition column " + partitionColName));
                     
Preconditions.checkState(loadInfo.getLayout().getColumns().stream()
                             .anyMatch(col -> 
col.getAliasDotName().equals(dateCol.getAliasDotColumn())));

Reply via email to