You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A new metric has been added to /proc/net/rpc/nfsd named wdeleg_getattr in the 6.6-rc1 kernel. This causes nfs.ParseServerRPCStats to fail with error unknown NFSd metric line "wdeleg_getattr".
For reference, the kernel source defines this metric as (where wdeleg stands for "write delegation"):
NFSD_STATS_WDELEG_GETATTR, /* count of getattr conflict with wdeleg */
This issue does raise a concern about forward compatability. I do not think that adding a new metric line, or new counters should break existing implementaions.
I would suggest at a minimum, if an unknown metric line is found, that line should just be ignored. This falls into a similar concept about being leanient when parsing file formats such as JSON.
Likewise should consider ignore the additional values if a metric contains more values than expected. Normally the kernel maintains backwards compatability for counters, so if a counter is removed then a placeholder (normaly zero) is left in its place to avoid breaking existing software. New counters are only added to the end of existing lines, or as new lines.
The text was updated successfully, but these errors were encountered:
A new metric has been added to
/proc/net/rpc/nfsd
namedwdeleg_getattr
in the 6.6-rc1 kernel. This causesnfs.ParseServerRPCStats
to fail with errorunknown NFSd metric line "wdeleg_getattr"
.For reference, the kernel source defines this metric as (where wdeleg stands for "write delegation"):
For context, this is the commit that introduced the new metric; https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?h=v6.6-rc1&id=fd19ca36fd782b84f71b86525b91a905cda913a4.
There is a similar issue logged for the node exporter, prometheus/node_exporter#2799.
Sample
/proc/net/rpc/nfsd
Forward compatability
This issue does raise a concern about forward compatability. I do not think that adding a new metric line, or new counters should break existing implementaions.
I would suggest at a minimum, if an unknown metric line is found, that line should just be ignored. This falls into a similar concept about being leanient when parsing file formats such as JSON.
Likewise should consider ignore the additional values if a metric contains more values than expected. Normally the kernel maintains backwards compatability for counters, so if a counter is removed then a placeholder (normaly zero) is left in its place to avoid breaking existing software. New counters are only added to the end of existing lines, or as new lines.
The text was updated successfully, but these errors were encountered: