You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "zhao jintao (JIRA)" <ji...@apache.org> on 2019/03/21 07:04:00 UTC

[jira] [Created] (KYLIN-3899) Kylin throws OutOfMemory exception during the sql query

zhao jintao created KYLIN-3899:
----------------------------------

             Summary: Kylin throws OutOfMemory exception during the sql query 
                 Key: KYLIN-3899
                 URL: https://issues.apache.org/jira/browse/KYLIN-3899
             Project: Kylin
          Issue Type: Bug
          Components: Query Engine
    Affects Versions: v2.5.2
         Environment: Huawei FusionInsight
            Reporter: zhao jintao


Hi team:

I use Tableau+Kylin in my OLAP system.
 But Kylin sometimes throws an OutOfMemory exception and then crashed.

I find "OutOfMemoryError info" in kylin.log:
{quote}java.lang.OutOfMemoryError: Java heap space

Dumping heap to java_pid24217.hprof ...

#

#  java.lang.OutOfMemoryError: Java heap space

#  -XX:OutOfMemoryError="kill -9 %p"

#    Executing /bin/sh -c "kill -9 24217" ... 

Java HotSpot(TM) 64-Bit Server VM warning:ignoring option MaxPermSize=512m; support was removed in 8.0

Java HotSpot(TM) 64-Bit Server VM warning:Using incremental CMS is deprecated and will likely be removed in a future release.
{quote}
Then I use Memory Analyzer to analysis dump file. I find that all most of memory is occupied by a Tableau sql query thread, that query uses 23.4G memory, 99% of all mepory.

 

I find that query thread has a big linkedlist uses  19.7G memory, this linkedlist has LogicalTupleFilter entity,  contains 43497028 entries.

 

Then I find that the crash stack as these:
{quote}at org.apache.kylin.metadata.filter.LogicalTupleFilter.copy()Lorg/apache/kylin/metadata/filter/TupleFilter; (LogicalTupleFilter.java 55)

at org.apache.kylin.metadata.filter.TupleFilter.cartesianProduct(Ljava/util/List:Lorg/apache/kylin/metadata/filter/TupleFilter:)Ljava/util/List: (TupleFilter.java:279)

at org.apache.kylin.metadata.filter.TupleFilter.flattenInternal(Lorg/apache/kylin/metadata/filter/TupleFilter:)Lorg/apache/kylin/metadata/filter/TupleFilter: (TupleFilter.java:252)

at org.apache.kylin.metadata.filter.TupleFilter.flatFilter()Lorg/apache/kylin/metadata/filter/TupleFilter: (TupleFilter.java:218)

at org.apache.kylin.cube.gridtable.ScanrangePlannerBase.flattenToOrAndFilter(Lorg/apache/kylin/metadata/filter/TupleFilter:)Lorg/apache/kylin/metadata/filter/TupleFilter: (ScanRangePlannerBase.java:73)

at org.apache.kylin.storage.gtrecord.CubeScanRangePlanner.planScanRanges()Ljava/util/List; (CubeScanRangePlanner.java:216)

......
{quote}
 

I find that Kylin's SQL query statement which is generated by Tableau is very complex. The length of SQL query statement is 54836, with "IN", "NOT IN", multi-level "OR", "AND" conditions and group by filtering.

 

Have other users ever had this problem?

 

Best Regards.

Thanks.

 

Zhao Jintao.

 

 

 

 

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)