[ 
https://issues.apache.org/jira/browse/CASSANDRA-7392?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14612937#comment-14612937
 ] 

Stefania commented on CASSANDRA-7392:
-------------------------------------

[~slebresne], I would like to know how to best abort a read operation. I think 
we have several options:

- Add an "abort requested" control field (OpState) in the code 
[here|https://github.com/stef1927/cassandra/commits/7392] to ReadCommand but 
this means changing the constructor chain which is very complex (the index read 
command needs to inherit the control field of the main command - unless we make 
it not final)
- Pass it as an argument to the various methods (executeLocally, queryStorage, 
search, etc)
- Add it to ReadOrderGroup, which is passed almost everywhere but it isn't 
really related
- Simply stop the iterator in executeLocally with a wrapper iterator (this is 
required anyway I believe but it would not abort the index reads) 

Could you comment on :
- your preferred option, I don't want to spoil your design :)
- whether the code is stable or whether there is some refactoring still missing 
that I should wait for or help out with

> Abort in-progress queries that time out
> ---------------------------------------
>
>                 Key: CASSANDRA-7392
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7392
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Stefania
>             Fix For: 3.x
>
>
> Currently we drop queries that time out before we get to them (because node 
> is overloaded) but not queries that time out while being processed.  
> (Particularly common for index queries on data that shouldn't be indexed.)  
> Adding the latter and logging when we have to interrupt one gets us a poor 
> man's "slow query log" for free.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to