Thanks Bowen.
Any idea why is cross_node_timeout commented out by default? That seems
like a good option to enable even as per the documentation:
# If disabled, replicas will assume that requests
# were forwarded to them instantly by the coordinator, which means that
# under overload conditions we will waste that much extra time processing
# already-timed-out requests.

Also, taking an example from Oracle kind of RDBMS systems, is there a
command like the following that can be fired from an external script to
kill a long running query on each node:

alter system kill session




On Tue, Oct 12, 2021 at 10:49 AM Bowen Song <bo...@bso.ng> wrote:

> That will depend on whether you have cross_node_timeout enabled. However,
> I have to point out that set timeout to 15ms is perhaps not a good idea,
> the JVM GC can easily cause a lots of timeouts.
> On 12/10/2021 18:20, S G wrote:
>
> ok, when a coordinator node sends timeout to the client, does it mean all
> the replica nodes have stopped processing that specific query too?
> Or is it just the coordinator node that has stopped waiting for the
> replicas to return response?
>
> On Tue, Oct 12, 2021 at 10:12 AM Jeff Jirsa <jji...@gmail.com> wrote:
>
>> It sends an exception to the client, it doesnt sever the connection.
>>
>>
>> On Tue, Oct 12, 2021 at 10:06 AM S G <sg.online.em...@gmail.com> wrote:
>>
>>> Do the timeout values only kill the connection with the client or send
>>> error to the client?
>>> Or do they also kill the corresponding query execution happening on the
>>> Cassandra servers (co-ordinator, replicas etc) ?
>>>
>>> On Tue, Oct 12, 2021 at 10:00 AM Jeff Jirsa <jji...@gmail.com> wrote:
>>>
>>>> The read and write timeout values do this today.
>>>>
>>>>
>>>> https://github.com/apache/cassandra/blob/trunk/conf/cassandra.yaml#L920-L943
>>>>
>>>>
>>>> On Tue, Oct 12, 2021 at 9:53 AM S G <sg.online.em...@gmail.com> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> Is there a way to stop long running queries in Cassandra (versions
>>>>> 3.11.x or 4.x) ?
>>>>> The use-case is to have some kind of a circuit breaker based on
>>>>> query-time that has exceeded the client's SLAs.
>>>>> Example: If server response is useless to the client after 10 ms, then
>>>>> we could
>>>>> have a *query_killing_timeout* set to 15 ms (where additional 5ms
>>>>> allows for some buffer).
>>>>> And when that much time has elapsed, Cassandra will kill the query
>>>>> execution automatically.
>>>>>
>>>>> If this is not possible in Cassandra currently, any chance we can do
>>>>> it outside of Cassandra, like
>>>>> a shell script that monitors such long running queries (through users
>>>>> table etc) and kills the
>>>>> OS-thread responsible for that query (Looks unsafe though as that
>>>>> might leave the DB in an inconsistent state) ?
>>>>>
>>>>> We are trying this as a proactive measure to safeguard our clusters
>>>>> from any rogue queries fired accidentally or maliciously.
>>>>>
>>>>> Thanks !
>>>>>
>>>>>

Reply via email to