Thanks for the reply. Its just not about query performance, my queries are
not working. I am actually trying with only 50 fact rows. As per my
understanding, query should not fail with any order of rowkeys.

On Tue, Apr 4, 2017 at 2:46 PM, Alberto Ramón <a.ramonporto...@gmail.com>
wrote:

> hello, from http://kylin.apache.org/docs16/tutorial/create_cube.html
>
> "You can drag & drop a dimension column to adjust its position in rowkey;
> Put the mandantory dimension at the begining, then followed the dimensions
> that heavily involved in filters (where condition). Put high cardinality
> dimensions ahead of low cardinality dimensions."
>
> Other way to improve query performance is use AGG
>
> Good Luck !!
>
>
>
> 2017-04-04 10:01 GMT+01:00 Shailesh Prajapati <shail...@infoworks.io>:
>
> > Hi,
> >
> > I am using kylin 1.6 and facing a wired issue with Cube description.
> > Basically, I have two Cube desc having same dimensions, measures,
> rowkeys,
> > aggregation groups. The only difference is the ordering of keys in them.
> > With first cube description, my queries are working and with second i am
> > getting following exception:
> >
> >
> > java.sql.SQLException: Error while executing SQL "SELECT
> > sum(ss_ext_sales_price) total_sales,
> > sum(ss_ext_discount_amt) total_discount,
> > s_store_id,
> > s_store_name
> > FROM
> > store_sales
> > LEFT JOIN store
> > ON (store_sales.ss_store_sk = store.s_store_sk)
> > GROUP BY
> > s_store_id,
> > s_store_name
> > ORDER BY
> > total_sales,
> > total_discount,
> > s_store_id,
> > s_store_name
> > LIMIT 50000": null
> >         at org.apache.calcite.avatica.Helper.createException(Helper.
> > java:56)
> >         at org.apache.calcite.avatica.Helper.createException(Helper.
> > java:41)
> >         at org.apache.calcite.avatica.AvaticaStatement.executeInternal(
> > AvaticaStatement.java:147)
> >         at org.apache.calcite.avatica.AvaticaStatement.executeQuery(
> > AvaticaStatement.java:208)
> >         at org.apache.kylin.rest.service.QueryService.execute(
> > QueryService.java:538)
> >         at org.apache.kylin.rest.service.QueryService.
> queryWithSqlMassage(
> > QueryService.java:452)
> >         at org.apache.kylin.rest.service.QueryService.query(
> > QueryService.java:151)
> >         at org.apache.kylin.rest.service.QueryService.doQueryWithCache(
> > QueryService.java:354)
> >         at org.apache.kylin.rest.controller.QueryController.
> > query(QueryController.java:69)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:62)
> >         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> >         at java.lang.reflect.Method.invoke(Method.java:498)
> >         at org.springframework.web.method.support.
> InvocableHandlerMethod.
> > doInvoke(InvocableHandlerMethod.java:221)
> >         at org.springframework.web.method.support.
> InvocableHandlerMethod.
> > invokeForRequest(InvocableHandlerMethod.java:136)
> >         at org.springframework.web.servlet.mvc.method.annotation.
> > ServletInvocableHandlerMethod.invokeAndHandle(
> > ServletInvocableHandlerMethod.
> > java:104)
> >         at org.springframework.web.servlet.mvc.method.annotation.
> > RequestMappingHandlerAdapter.invokeHandleMethod(
> > RequestMappingHandlerAdapter.java:743)
> >         at org.springframework.web.servlet.mvc.method.annotation.
> > RequestMappingHandlerAdapter.handleInternal(
> RequestMappingHandlerAdapter.
> > java:672)
> >         at org.springframework.web.servlet.mvc.method.
> > AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.
> java:82)
> >         at org.springframework.web.servlet.DispatcherServlet.
> > doDispatch(DispatcherServlet.java:933)
> >         at org.springframework.web.servlet.DispatcherServlet.
> > doService(DispatcherServlet.java:867)
> >         at org.springframework.web.servlet.FrameworkServlet.
> > processRequest(
> > FrameworkServlet.java:951)
> >         at org.springframework.web.servlet.FrameworkServlet.
> > doPost(FrameworkServlet.java:853)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
> >         at org.springframework.web.servlet.FrameworkServlet.
> > service(FrameworkServlet.java:827)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >         at org.apache.catalina.core.ApplicationFilterChain.
> > internalDoFilter(
> > ApplicationFilterChain.java:303)
> >         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > ApplicationFilterChain.java:208)
> >         at org.apache.tomcat.websocket.server.WsFilter.doFilter(
> > WsFilter.java:52)
> >         at org.apache.catalina.core.ApplicationFilterChain.
> > internalDoFilter(
> > ApplicationFilterChain.java:241)
> >         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > ApplicationFilterChain.java:208)
> >         at org.springframework.security.web.FilterChainProxy$
> > VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> >         at org.springframework.security.web.access.intercept.
> > FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> >         at org.springframework.security.web.access.intercept.
> > FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> >         at org.springframework.security.web.FilterChainProxy$
> > VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at org.springframework.security.web.access.
> > ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> >         at org.springframework.security.web.FilterChainProxy$
> > VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at org.springframework.security.web.authentication.
> > AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.
> > java:113)
> >         at org.springframework.security.web.FilterChainProxy$
> > VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at org.springframework.security.web.servletapi.
> > SecurityContextHolderAwareRequestFilter.doFilter(
> > SecurityContextHolderAwareRequestFilter.java:54)
> >         at org.springframework.security.web.FilterChainProxy$
> > VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at io.infoworks.security.jwt.JwtAuthenticationTokenFilter.
> > successfulAuthentication(JwtAuthenticationTokenFilter.java:64)
> >         at org.springframework.security.web.authentication.
> > AbstractAuthenticationProcessingFilter.doFilter(
> > AbstractAuthenticationProcessingFilter.java:219)
> >         at org.springframework.security.web.FilterChainProxy$
> > VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at org.springframework.security.web.context.
> > SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilt
> > er.java:87)
> >         at org.springframework.security.web.FilterChainProxy$
> > VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at org.springframework.security.web.FilterChainProxy.
> > doFilterInternal(FilterChainProxy.java:192)
> >         at org.springframework.security.web.FilterChainProxy.doFilter(
> > FilterChainProxy.java:160)
> >         at org.springframework.web.filter.DelegatingFilterProxy.
> > invokeDelegate(DelegatingFilterProxy.java:343)
> >         at org.springframework.web.filter.DelegatingFilterProxy.
> doFilter(
> > DelegatingFilterProxy.java:260)
> >         at org.apache.catalina.core.ApplicationFilterChain.
> > internalDoFilter(
> > ApplicationFilterChain.java:241)
> >         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > ApplicationFilterChain.java:208)
> >         at com.thetransactioncompany.cors.CORSFilter.doFilter(
> > CORSFilter.java:209)
> >         at com.thetransactioncompany.cors.CORSFilter.doFilter(
> > CORSFilter.java:244)
> >         at org.apache.catalina.core.ApplicationFilterChain.
> > internalDoFilter(
> > ApplicationFilterChain.java:241)
> >         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > ApplicationFilterChain.java:208)
> >         at org.apache.catalina.core.StandardWrapperValve.invoke(
> > StandardWrapperValve.java:220)
> >         at org.apache.catalina.core.StandardContextValve.invoke(
> > StandardContextValve.java:122)
> >         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(
> > AuthenticatorBase.java:505)
> >         at org.apache.catalina.core.StandardHostValve.invoke(
> > StandardHostValve.java:169)
> >         at org.apache.catalina.valves.ErrorReportValve.invoke(
> > ErrorReportValve.java:103)
> >         at org.apache.catalina.valves.AccessLogValve.invoke(
> > AccessLogValve.java:956)
> >         at org.apache.catalina.core.StandardEngineValve.invoke(
> > StandardEngineValve.java:116)
> >         at org.apache.catalina.connector.CoyoteAdapter.service(
> > CoyoteAdapter.java:436)
> >         at org.apache.coyote.http11.AbstractHttp11Processor.process(
> > AbstractHttp11Processor.java:1078)
> >         at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
> > process(AbstractProtocol.java:625)
> >         at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.
> > run(JIoEndpoint.java:316)
> >         at java.util.concurrent.ThreadPoolExecutor.runWorker(
> > ThreadPoolExecutor.java:1142)
> >         at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> > ThreadPoolExecutor.java:617)
> >         at org.apache.tomcat.util.threads.TaskThread$
> WrappingRunnable.run(
> > TaskThread.java:61)
> >         at java.lang.Thread.run(Thread.java:745)
> > Caused by: java.lang.IllegalStateException
> >         at org.apache.kylin.gridtable.GTInfo.validateColumnBlocks(
> > GTInfo.java:198)
> >         at org.apache.kylin.gridtable.GTInfo.validate(GTInfo.java:167)
> >         at org.apache.kylin.gridtable.GTInfo$Builder.build(GTInfo.
> > java:269)
> >         at org.apache.kylin.cube.gridtable.CubeGridTable.
> > newGTInfo(CubeGridTable.java:53)
> >         at org.apache.kylin.cube.gridtable.CubeGridTable.
> > newGTInfo(CubeGridTable.java:36)
> >         at org.apache.kylin.storage.gtrecord.CubeScanRangePlanner.
> > <init>(CubeScanRangePlanner.java:88)
> >         at org.apache.kylin.storage.gtrecord.CubeSegmentScanner.<
> > init>(CubeSegmentScanner.java:74)
> >         at org.apache.kylin.storage.gtrecord.
> > GTCubeStorageQueryBase.search(
> > GTCubeStorageQueryBase.java:130)
> >         at org.apache.kylin.query.enumerator.OLAPEnumerator.
> > queryStorage(OLAPEnumerator.java:114)
> >         at org.apache.kylin.query.enumerator.OLAPEnumerator.
> > moveNext(OLAPEnumerator.java:65)
> >         at Baz$1$1.moveNext(Unknown Source)
> >         at org.apache.calcite.linq4j.EnumerableDefaults.groupBy_(
> > EnumerableDefaults.java:823)
> >         at org.apache.calcite.linq4j.EnumerableDefaults.groupBy(
> > EnumerableDefaults.java:758)
> >         at org.apache.calcite.linq4j.DefaultEnumerable.groupBy(
> > DefaultEnumerable.java:302)
> >         at Baz.bind(Unknown Source)
> >         at org.apache.calcite.jdbc.CalcitePrepare$
> > CalciteSignature.enumerable(CalcitePrepare.java:327)
> >         at org.apache.calcite.jdbc.CalciteConnectionImpl.enumerable(
> > CalciteConnectionImpl.java:282)
> >         at org.apache.calcite.jdbc.CalciteMetaImpl._createIterable(
> > CalciteMetaImpl.java:553)
> >         at org.apache.calcite.jdbc.CalciteMetaImpl.createIterable(
> > CalciteMetaImpl.java:544)
> >         at org.apache.calcite.avatica.AvaticaResultSet.execute(
> > AvaticaResultSet.java:187)
> >         at org.apache.calcite.jdbc.CalciteResultSet.execute(
> > CalciteResultSet.java:65)
> >         at org.apache.calcite.jdbc.CalciteResultSet.execute(
> > CalciteResultSet.java:44)
> >         at org.apache.calcite.avatica.AvaticaConnection$1.execute(
> > AvaticaConnection.java:605)
> >         at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(
> > CalciteMetaImpl.java:599)
> >         at org.apache.calcite.avatica.AvaticaConnection.
> > prepareAndExecuteInternal(AvaticaConnection.java:613)
> >         at org.apache.calcite.avatica.AvaticaStatement.executeInternal(
> > AvaticaStatement.java:139)
> >         ... 68 more
> >
> >
> > *cube desc 1: *
> > https://gist.github.com/shaipraj/a09991ad1599bca5f43b38c5565dbebe
> > *cube desc 2: *
> > https://gist.github.com/shaipraj/527cec8f03d55234c63d80b06353b7de
> >
> >
> > When i reordered the rowkeys in cube desc 2, my queries worked. My
> > question, are these rowkeys needs to be in order? if yes then on what
> > basis? and if not then what this exception is about?
> >
> >
> > Thanks
> >
>



-- 
Shailesh

Reply via email to