cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Attila Wind <atti...@swf.technology>
Subject Re: Select in allow filtering stalls whole cluster. How to prevent such behavior?
Date Thu, 23 May 2019 04:33:37 GMT
Hi,

"When you run a query with allow filtering, Cassandra doesn't know where 
the data is located, so it has to go node by node, searching for the 
requested data."

a) Interesting... But only in case you do not provide partitioning key 
right? (so IN() is for partitioning key?)

b) Still does not explain or justify "all 8 nodes to halt and 
unresponsiveness to external requests" behavior... Even if servers are 
busy with the request seriously becoming non-responsive...?

cheers

Attila Wind

http://www.linkedin.com/in/attilaw
Mobile: +36 31 7811355


On 2019. 05. 23. 0:37, shalom sagges wrote:
> Hi Vsevolod,
>
> 1) Why such behavior? I thought any given SELECT request is handled by 
> a limited subset of C* nodes and not by all of them, as per connection 
> consistency/table replication settings, in case.
> When you run a query with allow filtering, Cassandra doesn't know 
> where the data is located, so it has to go node by node, searching for 
> the requested data.
>
> 2) Is it possible to forbid ALLOW FILTERING flag for given users/groups?
> I'm not familiar with such a flag. In my case, I just try to educate 
> the R&D teams.
>
> Regards,
>
> On Wed, May 22, 2019 at 5:01 PM Vsevolod Filaretov 
> <vsfilaretov@gmail.com <mailto:vsfilaretov@gmail.com>> wrote:
>
>     Hello everyone,
>
>     We have an 8 node C* cluster with large volume of unbalanced data.
>     Usual per-partition selects work somewhat fine, and are processed
>     by limited number of nodes, but if user issues SELECT WHERE IN ()
>     ALLOW FILTERING, such command stalls all 8 nodes to halt and
>     unresponsiveness to external requests while disk IO jumps to 100%
>     across whole cluster. In several minutes all nodes seem to finish
>     ptocessing the request and cluster goes back to being responsive.
>     Replication level across whole data is 3.
>
>     1) Why such behavior? I thought any given SELECT request is
>     handled by a limited subset of C* nodes and not by all of them, as
>     per connection consistency/table replication settings, in case.
>
>     2) Is it possible to forbid ALLOW FILTERING flag for given
>     users/groups?
>
>     Thank you all very much in advance,
>     Vsevolod Filaretov.
>

Mime
View raw message