Hi everyone, In 4.0 stream_throughput_outbound_megabits_per_sec and inter_dc_stream_throughput_outbound_megabits_per_sec were introduced. It was requested all data rate parameters to support mebibytes/s, kibibytes/s and bytes/s with the new config in 4.1 but to support backward compatibility. This is in place but there is one outstanding question I wanted to discuss with the community. As we know, converting between megabits and mebibytes produces double numbers which we already handle internally. Now, the question is how do we want to handle this in JMX/nodetool when reporting to the users. The new getters in mebibytes will be reporting in double to the users (I have a patch for that as we just added the mebibytes flags in nodetool for stream_throughput_outbound and inter_dc_stream_throughput_outbound in 4.1). I guess changing the getters to report double now will be a breaking change so the options I see: - we throw an error if we cannot report integer (the property was set in mebibytes not megabits) and ask the users to check the mib versions and report only integers - We document there can be a loss of precision and people should be looking into the mib one which will report exact numbers
I guess I would prefer option 1 as people can easily miss anything documented. Similar is the question for the Settings Virtual Table, but I guess there we can switch all to double reporting or set to NA in case the old properties (in megabits/s) are not integers. Best regards, Ekaterina