[
https://issues.apache.org/jira/browse/KYLIN-5545?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Guangyuan Feng updated KYLIN-5545:
----------------------------------
Fix Version/s: 5.0-beta
(was: 5.0-alpha)
> Try best to interrupt running queries and limit the number of queries to run
> ----------------------------------------------------------------------------
>
> Key: KYLIN-5545
> URL: https://issues.apache.org/jira/browse/KYLIN-5545
> Project: Kylin
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 5.0-alpha
> Reporter: Guangyuan Feng
> Assignee: fanfanAlice
> Priority: Major
> Fix For: 5.0-beta
>
>
> *Issues*
> There are two issues will decrease the stability of Kylin:
> # Missed some places to cancel the planning/running queries if occurred
> interruptions, leading to the useless consumptions of calculating resources.
> # Don't limit the number of queries that can be pushed down, leading to too
> many queries to run, evenly to a OOM.
> So it's great to have a PR to improve/solve the above issues.
>
> *Proposal changes*
> # Add a new property
> {{kylin.query.pushdown-concurrent-running-threshold=10}} to control the
> concurrency of the queries pushed down, 10 running queries by default, which
> will be bond to a Semaphore instance in JVM scope.
> # The pushed down query will calling {{Semaphore}} instance's
> {{tryAcquire(long timeout, TimeUnit unit)}} to acquire the chance to run, so
> the waiting queries could be interrupted if failed in {{330s}} by default.
>
> *Why changes*
> # {{QueryLimiter}} won't working then the server is not in {{downgrade}}
> state, which means no limitations on the number of queries pushed down to
> run, therefore we need another strategy to accomplish the goal.
> # During retrieving the file status, it gives us a chance to react to the
> interruption, so as to terminate the planning queries.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)