Caleb Rackliffe created CASSANDRA-17423:
-------------------------------------------

             Summary: Add Native Transport Rate Limiter Options to Example 
cassandra.yaml and Expose Metric for Dispatch Rate
                 Key: CASSANDRA-17423
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17423
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Caleb Rackliffe


In CASSANDRA-16663, we added a new rate limiter that applies to all incoming 
requests over the native transport. Given it has now had some time to marinate 
in 4.1 snapshot builds, there are a few things we should do to make sure it 
hits the bar for usability and observability:

1.) Add the {{native_transport_rate_limiting_enabled}} and 
{{native_transport_max_requests_per_second}} options to the example 
{{cassandra.yaml}} file w/ brief documentation.

2.) Add a simple Meter/metric, probably in {{ClientMetrics}} for the rate* of 
native transport requests dispatched for processing. Given there are a few 
cases where native transport requests may not translate 1:1 to the number of 
times we hit StorageProxy, having this metric should make verifying the correct 
operation of the limiter easier. (Ex. IN queries w/ multiple partition keys, 
{{GROUP BY}} queries, etc.) It may make sense to look further into adjusting 
the behavior of the rate limiter to take these kinds of queries into account, 
but that is a bit more complex than either of these 2 items, and deserves 
another Jira.

* We do expose a per-connection counter for the number of requests dispatched, 
and it is exposed over a virtual table and JMX, but even if it were global, it 
is not a rate metric.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to