[ 
https://issues.apache.org/jira/browse/KYLIN-4021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

wangrupeng reassigned KYLIN-4021:
---------------------------------

    Assignee: wangrupeng

> Async Broadcast of project schema may cause creating cube failed
> ----------------------------------------------------------------
>
>                 Key: KYLIN-4021
>                 URL: https://issues.apache.org/jira/browse/KYLIN-4021
>             Project: Kylin
>          Issue Type: Bug
>          Components: Metadata
>            Reporter: Liu Shaohui
>            Assignee: wangrupeng
>            Priority: Major
>
> In our prod cluster, we found some creating cube requests failed for the 
> model not found.
> The problem is that users will create the cube right after creating the model 
> success. But the the two requests may be routed to two different servers.
> When the other server receive creating cube request, the project schema may 
> be not updated for the async Broadcast and the server can not found the model 
> related to the cube.
> the log at query server 1
> {code:java}
> kylin.log.11:2019-05-27 10:26:44,143 INFO  [http-bio-7070-exec-962] 
> model.DataModelManager:248 : Saving Model model_k1_bb_83_uyyyyyyy3636 to 
> Project BigBI_Hive with bigbi_kylin as owner
> kylin.log.11:2019-05-27 10:26:44,144 INFO  [http-bio-7070-exec-962] 
> model.DataModelManager:185 : Model model_k1_bb_83_uyyyyyyy3636 is missing or 
> unloaded yet
> kylin.log.11:2019-05-27 10:26:44,145 INFO  [http-bio-7070-exec-962] 
> persistence.ResourceStore:309 : Update resource: 
> /model_desc/model_k1_bb_83_uyyyyyyy3636.json with content:{code}
> and the log at query server 2
> {code:java}
> 2019-05-27 10:26:44,296 WARN  [http-bio-7070-exec-132] 
> cube.CubeDescManager:195 : Broken cube desc CubeDesc 
> [name=cube_b_bb_83_uyyyyyyy3636]
> java.lang.NullPointerException: DateModelDesc(model_k1_bb_83_uyyyyyyy3636) 
> not found
>         at 
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:235)
>         at org.apache.kylin.cube.model.CubeDesc.init(CubeDesc.java:664)
>         at 
> org.apache.kylin.cube.CubeDescManager.createCubeDesc(CubeDescManager.java:193)
>         at 
> org.apache.kylin.rest.service.CubeService.createCubeAndDesc(CubeService.java:216)
>         at 
> org.apache.kylin.rest.service.CubeService$$FastClassBySpringCGLIB$$17a07c0e.invoke(<generated>)
>         at 
> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
>         at 
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
>         at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
>         at 
> org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69)
>         at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
>         at 
> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)
>         at 
> org.apache.kylin.rest.service.CubeService$$EnhancerBySpringCGLIB$$20946622.createCubeAndDesc(<generated>)
>         at 
> org.apache.kylin.rest.controller.CubeController.saveCubeDesc(CubeController.java:735)
>         at sun.reflect.GeneratedMethodAccessor341.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498){code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to