Code change:
"Default watch cache size. If zero, watch cache will be disabled for resources that do not have a default watch size set.") fs.StringSliceVar(&s.WatchCacheSizes, "watch-cache-sizes", s.WatchCacheSizes, ""+ <del> "List of watch cache sizes for every resource (pods, nodes, etc.), comma separated. "+ "The individual override format: resource[.group]#size, where resource is lowercase plural (no version), "+ "group is optional, and size is a number. It takes effect when watch-cache is enabled. "+ </del> <ins> "Watch cache size settings for some resources (pods, nodes, etc.), comma separated. "+ "The individual setting format: resource[.group]#size, where resource is lowercase plural (no version), "+ "group is omitted for resources of apiVersion v1 (the legacy core API) and included for others, "+ "and size is a number. It takes effect when watch-cache is enabled. "+ </ins> "Some resources (replicationcontrollers, endpoints, nodes, pods, services, apiservices.apiregistration.k8s.io) "+ "have system defaults set by heuristics, others default to default-watch-cache-size")

Related discussion:
text: <!-- This form is for bug reports and feature requests ONLY! If you're looking for help check and the . If the matter is security related, please disclose it privately via --Is this a BUG REPORT or FEATURE REQUEST?: What happened: I wanted to set the watch cache size for some Kinds, and realized I was unsure of the syntax. After investigation and prompting, the flag help was updated to describe the syntax. But the description has an error. The flag help () says the group is optional. But the code makes it clear that the group is NOT optional. See how invokes schema.ParseGroupResource, which does not do any normalization --- the group appears in the result if and only if the user supplied the group in the string on the command line. See how and index the map by the canonical and only that. So if the user supplies the group and the canonical elides the group, or if the user elided the group and the canonical includes the group, the user's entry in the map will not be found. What you expected to happen: I expected the command line flag help to be accurate. How to reproduce it (as minimally and precisely as possible): I think the code inspection is easier than a demo in this case. If you want a demo, run an apiserver with and look at the debug messages about the watch cache sizes used for pods and jobs. Anything else we need to know?: no Environment: Kubernetes version (use ): Cloud provider or hardware configuration: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others:
/cc
lgtm'ed on the pr
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
Stale issues rot after 30d of inactivity. Mark the issue as fresh with . Rotten issues close after an additional 30d of inactivity. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle rotten
/remove-lifecycle rotten /lifecycle frozen