putting this ticket to needs review because i've some questions.
i realized that there are keys in the spec like desc_bw_average, that was never named like that in sbws, it was named desc_bw_avg, that's why the last one is missing in the spec, it was a mistake when writing the spec.
Should we leave them as they are for version 1.2 and add the correct names in version 1.5? ,and remove desc_bw_average from the sbws examples in the Annexes?
and the keys that were missing, should we also say that we add them in version 1.5 even if they were in sbws time ago?
Trac: Status: new to needs_review Reviewer: N/Ato ahf, gk
putting this ticket to needs review because i've some questions.
i realized that there are keys in the spec like desc_bw_average, that was never named like that in sbws, it was named desc_bw_avg, that's why the last one is missing in the spec, it was a mistake when writing the spec.
Should we leave them as they are for version 1.2 and add the correct names in version 1.5? ,and remove desc_bw_average from the sbws examples in the Annexes?
and the keys that were missing, should we also say that we add them in version 1.5 even if they were in sbws time ago?
So, all of those examples look to me like spec bugs: the right thing happened in the code, but the spec does not reflect that and thus needs to get updated. If that's the case we should just fix the spec without the need for bumping the version. That goes both for missing as well as wrongly spelled keys. The missing ones, too, should get added to the spec with the first version in which they appeared (as all the other ones that we did not forget).
Re: the examples. Yes, if we change desc_bw_average to desc_bw_avg (and do not say the bug is actually desc_bw_avg in the code which should be desc_bw_average as it is written in the spec) then we should fix up the examples as well in the Annexes (I don't know where those are but even without looking at them in detail it makes sense to fix the examples :)).
So, all of those examples look to me like spec bugs: the right thing happened in the code, but the spec does not reflect that and thus needs to get updated.
Yes.
And i think the source of true for the version and when the KeyValues appeared should be the bandwidth files published by the bwauths, because with sbws happens that:
we change KeyValues
we change the specification version in sbws
we make a new sbws release (and usually bwauths have run only releases, except longclaw a couple of times)
the new version spec and the KeyValues start to appear in the bandwidth files
we change some more KeyValues (if there's no bwauth running a non-released version, they're still publishing the last specification version
new specification change, new sbws release, bwauths update sbws version (and therefore KeyValues and specification version)...
So i should check the collector to be sure about the which keys were in which versions
So, all of those examples look to me like spec bugs: the right thing happened in the code, but the spec does not reflect that and thus needs to get updated.
Yes.
And i think the source of true for the version and when the KeyValues appeared should be the bandwidth files published by the bwauths, because with sbws happens that:
we change KeyValues
we change the specification version in sbws
we make a new sbws release (and usually bwauths have run only releases, except longclaw a couple of times)
the new version spec and the KeyValues start to appear in the bandwidth files
we change some more KeyValues (if there's no bwauth running a non-released version, they're still publishing the last specification version
new specification change, new sbws release, bwauths update sbws version (and therefore KeyValues and specification version)...
So i should check the collector to be sure about the which keys were in which versions
So i should check the collector to be sure about the which keys were in which versions
Sounds good.
I checked and all the collected bandwidth files started with the specification version 1.4.0, so in versions earlier than that it does not really matter the KeyValues are not correct.
Still, i fixed them in their respective versions, including the version 1.3.0 that was never generated by sbws (it should have been other ticket, but the change is small).
What i should still check is whether we need to open tickets to metrics and stem because of the change of version in the spec. I don't think so because there were no bandwidth files published earlier than 1.4.0.
So i should check the collector to be sure about the which keys were in which versions
Sounds good.
I checked and all the collected bandwidth files started with the specification version 1.4.0, so in versions earlier than that it does not really matter the KeyValues are not correct.
Still, i fixed them in their respective versions, including the version 1.3.0 that was never generated by sbws (it should have been other ticket, but the change is small).
Looks mostly good to me. I have some comments/nits mainly for 0b6e97ca37b60fbfbd628306ec4b0551b34142cc:
4ec93f2d8b2add1da598d927785ed7d8e60f0ec3: looks good
0b6e97ca37b60fbfbd628306ec4b0551b34142cc:
desc_bw_bur, consensus_bandwidth, and consensus_bandwidth_is_unmeasured are all in v1.0.3 released which is using SPEC_VERSION 1.2.0. Thus, those KeyValues are already in that spec version available
in the commit message s/They appeared in in/They appeared in/
In the new "in the last data_period days" parts the default value for "data_period days" is not mentioned anymore as it is in previous KeyValue explanations. Maybe add a hint to the default one, here too
In relay_recent_priority_list_count there is no "in the last data_period days" but there should be, shouldn't it (at least that's what v3bwfile.py is indicating)?
"Add more KeyValues": I think it might make sense to use "Adds more KeyValues" in the sense that a particular spec version adds those things. I am a bit confused though, as the explanations to previous spec versions alternate between "Add" and "Adds" without some pattern. You could fix that part up in a follow-up commit if you think we should do that.
fb36a2bae2bc0aa1f0dfbfa68fbb903a5ee6d193: looks good (modulo the previously mentioned "Adds"/"Add" inconsistency; could be part of a follow-up fix as well)
What i should still check is whether we need to open tickets to metrics and stem because of the change of version in the spec. I don't think so because there were no bandwidth files published earlier than 1.4.0.
I agree that it should not be needed from my understanding but, yes, could be worth double-checking, though.
What i should still check is whether we need to open tickets to metrics and stem because of the change of version in the spec. I don't think so because there were no bandwidth files published earlier than 1.4.0.
I agree that it should not be needed from my understanding but, yes, could be worth double-checking, though.