[
https://issues.apache.org/jira/browse/IMPALA-12648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17874941#comment-17874941
]
Riza Suminto commented on IMPALA-12648:
---------------------------------------
Perhaps the query and kill function should accept both query id and coordinator
address like this:
{code:java}
SELECT kill(query_id, impala_coordinator) FROM sys.impala_query_live where
total_time_ms > 3600000; {code}
Backend executor should then have RPC implementation, maybe under
control_service.proto, to route the kill query request to appropriate
coordinator. But issuing one RPC for each query id belonging to one common
coordinator might be too much.
Alternatively, we can also craft custom SQL statement like
[SHUTDOWN|https://impala.apache.org/docs/build/html/topics/impala_shutdown.html]
(see also ClientRequestState::ExecShutdownRequest()), but accept FROM clause,
like this:
{code:java}
KILL(query_id, impala_coordinator) FROM sys.impala_query_live where
total_time_ms > 3600000;{code}
Instead of function, we can implement kill as a new type of DataSink that
group/batch query ids based on target coordinator address and send that request
through control_service.proto RPC.
We also need to avoid a race condition between kill RPCs vs
sys.impala_query_live scans.
> Support killing queries and sessions programatically
> ----------------------------------------------------
>
> Key: IMPALA-12648
> URL: https://issues.apache.org/jira/browse/IMPALA-12648
> Project: IMPALA
> Issue Type: New Feature
> Components: Frontend
> Affects Versions: Impala 4.3.0
> Reporter: Manish Maheshwari
> Assignee: Jason Fehr
> Priority: Major
>
> Support killing queries and sessions programatically via kill commands to be
> able to manage impala running workloads.
> 1. Killing Queries that are currently running
> {code:java}
> -- Forcibly terminates query with the specified query_id:
> KILL QUERY WHERE query_id='634bf9fcf55278eb:ac0ef05300000000' {code}
> For queries that are the finished and waiting to be closed, this command
> should close them
> 2. Killing sessions that are open
> {code:java}
> -- Forcibly terminates session and closes all queries:
> KILL SESSION WHERE session_id='2644d52c79c4c1e4:e974538f2189ed82' {code}
> this command should terminate the session and kill all active queries and
> close all queries that are finished and are waiting to be closed.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]