Hi everyone,

Code freeze started but I wanted to seek for community agreement on one
important topic.

After CASSANDRA-15234 we have the new yaml format for duration, data
storage and data rate config parameters.
New JMX methods with the new format are created since then for new
parameters like guardrails for example.

The old JMX methods for our config are still there so people can keep on
using them to set the parameters by only value with the old default units.
I opened a ticket for adding also JMX methods for the new value format but
it was not implemented so far in favor of
https://issues.apache.org/jira/browse/CASSANDRA-17562.
Unfortunately, https://issues.apache.org/jira/browse/CASSANDRA-17562 did
not land before the code freeze.
So my question is about the path forward and these are the options I see:
1. Neither https://issues.apache.org/jira/browse/CASSANDRA-17562 or
CASSANDRA-15254 lands in this release. People still have the old JMX methods
2. CASSANDRA-15254 lands as being just getters and setters, non-invasive
and quick but we will have to keep on supporting them or deprecate after
CASSANDRA-17562 lands in next release. The tricky part is that some of the
old JMX methods already have name without unit like getCasContentionTimeout
 and we can't just change them and break compatibility
3. CASSANDRA-17562 gets implemented

2. brings another important question. The moment CASSANDRA-17562 lands, do
we still want to add JMX? Shall we continue adding new getters/setters?
If the answer is "yes, we shall continue" and option 1, then I suggest we
deprecate methods like getCasContentionTimeout  in this release in favor of
new ones with unit suffix so we can change those names to be used for the
new format with the next release. Otherwise, there was a suggestion we add
v2 StorageProxyMbean as this is where we see now problem. (Thanks Andres
for raising the point!)

Best regards,
Ekaterina

Reply via email to