Skip to content

Commit e9ce75a

Browse files
authored
Merge pull request #4605 from p0lyn0mial/kep-watch-list-update-1-31
Update KEP 3157 (watch-list) for milestone 1.31
2 parents a51e5b8 + 378db8e commit e9ce75a

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

keps/sig-api-machinery/3157-watch-list/README.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ tags, and then generate with `hack/update-toc.sh`.
101101
- [Alpha](#alpha)
102102
- [Beta](#beta)
103103
- [GA](#ga)
104+
- [Post-GA](#post-ga)
104105
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
105106
- [Version Skew Strategy](#version-skew-strategy)
106107
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
@@ -678,15 +679,21 @@ We expect no non-infra related flakes in the last month as a GA graduation crite
678679
Whether it is safe to use the RequestWatchProgress API call
679680
or if the experimental-watch-progress-notify-interval flag has been set.
680681
Knowing etcd configuration will be used to automatically disable the streaming feature.
682+
- Use WatchProgressRequester to request progress notifications directly from etcd.
683+
This mechanism was developed in [Consistent Reads from Cache KEP](https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/2340-Consistent-reads-from-cache#use-requestprogress-to-enable-automatic-watch-updates)
684+
and will reduce the overall latency for watchlist requests.
681685

682686
#### GA
683-
- Consider using WatchProgressRequester to request progress notifications directly from etcd.
684-
This mechanism was developed in [Consistent Reads from Cache KEP](https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/2340-Consistent-reads-from-cache#use-requestprogress-to-enable-automatic-watch-updates)
685-
and could reduce the overall latency for watchlist requests.
686687
- [Switch](https://github.com/kubernetes/kubernetes/blob/a07b1aaa5b39b351ec8586de800baa5715304a3f/staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher.go#L416)
687688
the `storage/cacher` to use streaming directly from etcd
688689
(This will also allow us to [remove](https://github.com/kubernetes/kubernetes/blob/a07b1aaa5b39b351ec8586de800baa5715304a3f/staging/src/k8s.io/client-go/tools/cache/reflector.go#L110) the `reflector.UseWatchList` field).
689690

691+
#### Post-GA
692+
- Make **list** calls expensive in APF.
693+
Once all supported releases have the streaming list enabled by default (client-go, control plane components)
694+
and the feature itself is locked to its default value, we can increase the cost of regular list requests in APF.
695+
This ensures that the fallback mechanism, which switches back to the standard list when streaming has issues, will not be affected.
696+
690697
<!--
691698
**Note:** *Not required until targeted at a release.*
692699

keps/sig-api-machinery/3157-watch-list/kep.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,24 @@ stage: beta
2020
# The most recent milestone for which work toward delivery of this KEP has been
2121
# done. This can be the current (upcoming) milestone, if it is being actively
2222
# worked on.
23-
latest-milestone: "v1.30"
23+
latest-milestone: "v1.31"
2424

2525
# The milestone at which this feature was, or is targeted to be, at each stage.
2626
milestone:
2727
alpha: "v1.27"
28-
beta: "v1.30"
28+
beta: "v1.31"
2929

3030
# The following PRR answers are required at alpha release
3131
# List the feature gate name and the components for which it must be enabled
3232
feature-gates:
3333
- name: WatchList
3434
components:
3535
- kube-apiserver
36-
- name: WatchListClient (the actual name might be different because it hasn't been added yet))
36+
- name: WatchListClient
3737
components:
3838
- kube-controller-manager via client-go library
3939
disable-supported: true
4040

4141
# The following PRR answers are required at beta release
4242
metrics:
43-
- my_feature_metric
43+
- apiserver_watch_list_duration_seconds

0 commit comments

Comments
 (0)