Re: [Discuss] CQLSH should left-align numbers, right-align text (CASSANDRA-19150)

2024-01-16 Thread Brad
Hi Shailaja, In the case of machine readable output, CQL uses delimited output ('|') with whitespace on either side of the data values. To better support machine readable output, it might be useful to allow user specified delimiters (in a separate Jira). E.g.: cqlsh *-s","* -e"CAPTURE

Re: [Discuss] Generic Purpose Rate Limiter in Cassandra

2024-01-16 Thread Jaydeep Chovatia
Hi Stefan, Please find my response below: 1) Currently, I am keeping the signals as interface, so one can override with a different implementation, but a point noted that even the interface APIs could be also made dynamic so one can define APIs and its implementation, if they wish to override. 2)

Re: [Discuss] Generic Purpose Rate Limiter in Cassandra

2024-01-16 Thread C. Scott Andreas
Jaydeep, thanks for reaching out and for sharing this proposal. I like the direction. Please also take a look at https://issues.apache.org/jira/browse/CASSANDRA-16663 , which adds coordinator-level rate limiting on request rate. This ticket introduced a lockless rate limiter patterned on an

Re: [Discuss] Generic Purpose Rate Limiter in Cassandra

2024-01-16 Thread Jon Haddad
Server side rate limiting can be useful, but imo if we were to focus effort into a single place, time would be much better spent adding adaptive rate limiting to the drivers. Rate limiting at the driver level can be done based on 2 simple feedback mechanisms - error rate and latency. When a node

Re: [Discuss] Generic Purpose Rate Limiter in Cassandra

2024-01-16 Thread Štefan Miklošovič
Hi Jaydeep, That seems quite interesting. Couple points though: 1) It would be nice if there is a way to "subscribe" to decisions your detection framework comes up with. Integration with e.g. diagnostics subsystem would be beneficial. This should be pluggable - just coding up an interface to

[Discuss] Generic Purpose Rate Limiter in Cassandra

2024-01-16 Thread Jaydeep Chovatia
Hi, Happy New Year! I would like to discuss the following idea: Open-source Cassandra (CASSANDRA-15013 ) has an elementary built-in memory rate limiter based on the incoming payload from user requests. This rate limiter activates if any