key id clashes across algorithms cause problems with statistics
Job #2743211 failed for 785d021d:
Key id 756 is a duplicate. The stats channel only has 756 once in its output when it is expected to be there twice.
ant-5853:tests/system/statschannel] marka% more zones.expect.8
dnssec-refresh operations 23405: 1
dnssec-refresh operations 33537: 1
dnssec-refresh operations 5354: 10
dnssec-refresh operations 5727: 1
dnssec-refresh operations 756: 10
dnssec-refresh operations 756: 10
dnssec-sign operations 23405: 1
dnssec-sign operations 33537: 1
dnssec-sign operations 5354: 10
dnssec-sign operations 5727: 1
dnssec-sign operations 756: 10
dnssec-sign operations 756: 10
[ant-5853:tests/system/statschannel] marka% head ns2/manykeys.ksk*.id
==> ns2/manykeys.ksk13.id <==
33537
==> ns2/manykeys.ksk14.id <==
5727
==> ns2/manykeys.ksk8.id <==
23405
[ant-5853:tests/system/statschannel] marka% head ns2/manykeys.zsk*.id
==> ns2/manykeys.zsk13.id <==
756
==> ns2/manykeys.zsk14.id <==
5354
==> ns2/manykeys.zsk8.id <==
756
[ant-5853:tests/system/statschannel] marka%
[ant-5853:tests/system/statschannel] marka% more zones.out.x8
dnssec-refresh operations 23405: 1
dnssec-refresh operations 33537: 1
dnssec-refresh operations 5354: 10
dnssec-refresh operations 5727: 1
dnssec-refresh operations 756: 10
dnssec-sign operations 23405: 1
dnssec-sign operations 33537: 1
dnssec-sign operations 5354: 10
dnssec-sign operations 5727: 1
dnssec-sign operations 756: 10
[ant-5853:tests/system/statschannel] marka%
The same key id across multiple algorithms.
Kmanykeys.+008+00756.key Kmanykeys.+008+00756.state Kmanykeys.+013+00756.private
Kmanykeys.+008+00756.private Kmanykeys.+013+00756.key Kmanykeys.+013+00756.state
It looks like the XML correctly captures both counts but JSON doesn't.
<counters type="dnssec-sign">
<counter name="756">10</counter>
<counter name="756">10</counter>
<counter name="5354">10</counter>
<counter name="23405">1</counter>
<counter name="33537">1</counter>
<counter name="5727">1</counter>
</counters>
<counters type="dnssec-refresh">
<counter name="756">10</counter>
<counter name="756">10</counter>
<counter name="5354">10</counter>
<counter name="23405">1</counter>
<counter name="33537">1</counter>
<counter name="5727">1</counter>
</counters>
{
"name":"manykeys",
"class":"IN",
"serial":2,
"type":"primary",
"loaded":"2022-09-06T12:58:57Z",
"dnssec-sign":{
"756":10,
"5354":10,
"23405":1,
"33537":1,
"5727":1
},
"dnssec-refresh":{
"756":10,
"5354":10,
"23405":1,
"33537":1,
"5727":1
}
I think we are going to have to embed the algorithm into the counter names.
Edited by Mark Andrews