You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2018/08/06 08:58:27 UTC

[kylin] branch master updated: KYLIN-3479 Model can save when Kafka partition date column not select

This is an automated email from the ASF dual-hosted git repository.

shaofengshi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/master by this push:
     new 122b4d0  KYLIN-3479 Model can save when Kafka partition date column not select
122b4d0 is described below

commit 122b4d0cf0d0917438eb1c05e9d132e068bb481b
Author: GinaZhai <na...@kyligence.io>
AuthorDate: Sun Aug 5 13:18:01 2018 +0800

    KYLIN-3479 Model can save when Kafka partition date column not select
    
    KYLIN-3479 Model can save when kafka partition date column not select.
    
    KYLIN-3479 Model can save when kafka partition date column not select
    
    fix ugly code
    
    Remove unrelated code
---
 .../src/main/java/org/apache/kylin/rest/service/ModelService.java | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java b/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
index 23c0085..b3f6e2d 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
@@ -33,6 +33,7 @@ import org.apache.kylin.cube.model.CubeDesc;
 import org.apache.kylin.metadata.ModifiedOrder;
 import org.apache.kylin.metadata.draft.Draft;
 import org.apache.kylin.metadata.model.DataModelDesc;
+import org.apache.kylin.metadata.model.ISourceAware;
 import org.apache.kylin.metadata.model.JoinsTree;
 import org.apache.kylin.metadata.model.ModelDimensionDesc;
 import org.apache.kylin.metadata.model.TableDesc;
@@ -132,6 +133,13 @@ public class ModelService extends BasicService {
             throw new BadRequestException(String.format(msg.getDUPLICATE_MODEL_NAME(), desc.getName()));
         }
 
+        String factTableName = desc.getRootFactTableName();
+        TableDesc tableDesc = getTableManager().getTableDesc(factTableName, projectName);
+        if (tableDesc.getSourceType() == ISourceAware.ID_STREAMING
+                && (desc.getPartitionDesc() == null || desc.getPartitionDesc().getPartitionDateColumn() == null)) {
+            throw new IllegalArgumentException("Must define a partition column.");
+        }
+
         DataModelDesc createdDesc = null;
         String owner = SecurityContextHolder.getContext().getAuthentication().getName();
         createdDesc = getDataModelManager().createDataModelDesc(desc, projectName, owner);