client-go/reflector: Improve WatchListClient disabled log message for clarity

Kubernetes-commit: f4c24b5ef52272fe5e473e92fe5f98bee844f8aa
This commit is contained in:
Lukasz Szaszkiewicz
2025-11-17 09:25:33 +01:00
committed by Kubernetes Publisher
parent b960c92ed7
commit 4fa8366691
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 {