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

nichunen updated KYLIN-4180:
----------------------------
    Description: 
strong textThe following SQL will lead to the list  returned by 
org.apache.kylin.metadata.filter.TupleFilter#cartesianProduct become very 
large, and the process to producing the List will use lots of CPU.

{code:sql}
select * from temp.test_filter
where ((a >= 0 and a <= 1)
or    (a >= 1 and a <= 2)
or    (a >= 2 and a <= 3)
...
or    (a >= 300 and a <= 301)
) and ((b >= 0 and b <= 1)
or    (b >= 1 and b <= 2)
or    (b >= 2 and b <= 3)
...
or    (b >= 300 and b <= 301)
)
{code}



  was:
The following SQL will lead to the list  returned by 
org.apache.kylin.metadata.filter.TupleFilter#cartesianProduct become very 
large, and the process to producing the List will use lots of CPU.

{code:sql}
select * from temp.test_filter
where ((a >= 0 and a <= 1)
or    (a >= 1 and a <= 2)
or    (a >= 2 and a <= 3)
...
or    (a >= 300 and a <= 301)
) and ((b >= 0 and b <= 1)
or    (b >= 1 and b <= 2)
or    (b >= 2 and b <= 3)
...
or    (b >= 300 and b <= 301)
)
{code}




> Prevent abnormal CPU usage by limiting flat filters length
> ----------------------------------------------------------
>
>                 Key: KYLIN-4180
>                 URL: https://issues.apache.org/jira/browse/KYLIN-4180
>             Project: Kylin
>          Issue Type: Improvement
>          Components: Metadata
>    Affects Versions: v2.4.0, v2.5.0, v2.6.0
>            Reporter: Temple Zhou
>            Assignee: Temple Zhou
>            Priority: Major
>             Fix For: v3.0.0-beta, v2.6.5
>
>
> strong textThe following SQL will lead to the list  returned by 
> org.apache.kylin.metadata.filter.TupleFilter#cartesianProduct become very 
> large, and the process to producing the List will use lots of CPU.
> {code:sql}
> select * from temp.test_filter
> where ((a >= 0 and a <= 1)
> or    (a >= 1 and a <= 2)
> or    (a >= 2 and a <= 3)
> ...
> or    (a >= 300 and a <= 301)
> ) and ((b >= 0 and b <= 1)
> or    (b >= 1 and b <= 2)
> or    (b >= 2 and b <= 3)
> ...
> or    (b >= 300 and b <= 301)
> )
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to