Merge pull request #135324 from p0lyn0mial/upstream-watchlist-unsupported-wl-better-docs

client-go/reflector: Improve WatchListClient disabled log message for clarity
This commit is contained in:
Kubernetes Prow Robot 2025-12-17 20:00:54 -08:00 committed by GitHub
commit 13b10dc70f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 4 additions and 2 deletions

View file

@ -302,8 +302,7 @@ func NewReflectorWithOptions(lw ListerWatcher, expectedType interface{}, store R
// Using klog.TODO() here because switching to a caller-provided contextual logger
// would require an API change and updating all existing call sites.
klog.TODO().V(2).Info(
"The provided ListWatcher doesn't support WatchList semantics. The feature will be disabled. If you are using a custom client, check the documentation of watchlist.DoesClientNotSupportWatchListSemantics() method",
"listWatcherType", fmt.Sprintf("%T", lw),
"The client used to build this informer/reflector doesn't support WatchList semantics. The feature will be disabled. This is expected in unit tests but not in production. For details, see the documentation of watchlist.DoesClientNotSupportWatchListSemantics().",
"feature", clientfeatures.WatchListClient,
)
r.useWatchList = false

View file

@ -90,6 +90,9 @@ type unSupportedWatchListSemantics interface {
//
// A client does NOT support WatchList only if
// it implements `IsWatchListSemanticsUnSupported` and that returns true.
//
// For an explanation of how WatchList works, see:
// https://kubernetes.io/docs/reference/using-api/api-concepts/#streaming-lists
func DoesClientNotSupportWatchListSemantics(client any) bool {
lw, ok := client.(unSupportedWatchListSemantics)
if !ok {