Skip to content

Commit 3361c64

Browse files
committed
Mark changes
1 parent 92b36ca commit 3361c64

File tree

1 file changed

+23
-22
lines changed
  • keps/sig-api-machinery/2340-Consistent-reads-from-cache

1 file changed

+23
-22
lines changed

keps/sig-api-machinery/2340-Consistent-reads-from-cache/README.md

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -254,28 +254,29 @@ rate limiting to prevent cascading failure. I.e. `Retry-After` HTTP header (for
254254
well-behaved clients) and [Priority and Fairness](https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190228-priority-and-fairness.md).
255255

256256
In order to mitigate such problems, let's present how the system currently works
257-
in different cases.
258-
259-
| ResourceVersion | ResourceVersionMatch | Continuation | Limit | etcd implementation | watchcache implementation |
260-
|-----------------|----------------------|-------------------|---------------|-----------------------------------------|----------------------------------------------------|
261-
| _unset_ | _unset_ | _unset_ | _unset_ / _N_ | Quorum read request | Delegated to etcd |
262-
| _unset_ | _unset_ | _token_ | _unset_ / _N_ | Read request from RV encoded in _token_ | Delegated to etcd |
263-
| _unset_ | _Exact_ | _unset_ / _token_ | _unset_ / _N_ | Fails [validation] | Fails [validation] |
264-
| _unset_ | _NotOlderThan_ | _unset_ | _unset_ / _N_ | Quorum read request | Delegated to etcd |
265-
| _unset_ | _NotOlderThan_ | _token_ | _unset_ / _N_ | Fails [validation] | Fails [validation] |
266-
| _0_ | _unset_ | _unset_ | _unset_ / _N_ | Quorum read request | List from cache ignoring _limit_ |
267-
| _0_ | _unset_ | _token_ | _unset_ / _N_ | Quorum read request | Delegated to etcd |
268-
| _0_ | _Exact_ | _unset_ / _token_ | _unset_ / _N_ | Fails [validation] | Fails [validation] |
269-
| _0_ | _NotOlderThan_ | _unset_ | _unset_ / _N_ | Quorum read request | List from cache ignoring _limit_ |
270-
| _0_ | _NotOlderThan_ | _token_ | _unset_ / _N_ | Read request from RV encoded in _token_ | Delegated to etcd |
271-
| _RV_ | _unset_ | _unset_ | _unset_ | Quorum read request | Wait for cache synced to _RV_+ and list from cache |
272-
| _RV_ | _unset_ | _unset_ | _N_ | Read request from RV=_RV_ | Delegated to etcd |
273-
| _RV_ | _unset_ | _token_ | _unset_ / _N_ | Read request from RV encoded in _token_ | Delegated to etcd |
274-
| _RV_ | _Exact_ | _unset_ | _unset_ / _N_ | Read request from RV=_RV_ | Delegated to etcd |
275-
| _RV_ | _Exact_ | _token_ | _unset_ / _N_ | Fails [validation] | Fails [validation] |
276-
| _RV_ | _NotOlderThan_ | _unset_ | _unset_ | Quorum read request + check for _RV_ | Wait for cache synced to _RV_+ and list from cache |
277-
| _RV_ | _NotOlderThan_ | _unset_ | _N_ | Quorum read request + check for _RV_ | Delegated to etcd |
278-
| _RV_ | _NotOlderThan_ | _token_ | _unset_/ _N_ | Fails [validation] | Fails [validation] |
257+
in different cases. In addition to that, we add column indicating whether a given
258+
case will change how watchcache implementation will be handling the request.
259+
260+
| ResourceVersion | ResourceVersionMatch | Continuation | Limit | etcd implementation | watchcache implementation | changed |
261+
|-----------------|----------------------|-------------------|---------------|-----------------------------------------|----------------------------------------------------|----------|
262+
| _unset_ | _unset_ | _unset_ | _unset_ / _N_ | Quorum read request | Delegated to etcd | Yes |
263+
| _unset_ | _unset_ | _token_ | _unset_ / _N_ | Read request from RV encoded in _token_ | Delegated to etcd | |
264+
| _unset_ | _Exact_ | _unset_ / _token_ | _unset_ / _N_ | Fails [validation] | Fails [validation] | |
265+
| _unset_ | _NotOlderThan_ | _unset_ | _unset_ / _N_ | Quorum read request | Delegated to etcd | Yes |
266+
| _unset_ | _NotOlderThan_ | _token_ | _unset_ / _N_ | Fails [validation] | Fails [validation] | |
267+
| _0_ | _unset_ | _unset_ | _unset_ / _N_ | Quorum read request | List from cache ignoring _limit_ | |
268+
| _0_ | _unset_ | _token_ | _unset_ / _N_ | Quorum read request | Delegated to etcd | |
269+
| _0_ | _Exact_ | _unset_ / _token_ | _unset_ / _N_ | Fails [validation] | Fails [validation] | |
270+
| _0_ | _NotOlderThan_ | _unset_ | _unset_ / _N_ | Quorum read request | List from cache ignoring _limit_ | |
271+
| _0_ | _NotOlderThan_ | _token_ | _unset_ / _N_ | Read request from RV encoded in _token_ | Delegated to etcd | |
272+
| _RV_ | _unset_ | _unset_ | _unset_ | Quorum read request | Wait for cache synced to _RV_+ and list from cache | |
273+
| _RV_ | _unset_ | _unset_ | _N_ | Read request from RV=_RV_ | Delegated to etcd | |
274+
| _RV_ | _unset_ | _token_ | _unset_ / _N_ | Read request from RV encoded in _token_ | Delegated to etcd | Deferred |
275+
| _RV_ | _Exact_ | _unset_ | _unset_ / _N_ | Read request from RV=_RV_ | Delegated to etcd | |
276+
| _RV_ | _Exact_ | _token_ | _unset_ / _N_ | Fails [validation] | Fails [validation] | |
277+
| _RV_ | _NotOlderThan_ | _unset_ | _unset_ | Quorum read request + check for _RV_ | Wait for cache synced to _RV_+ and list from cache | |
278+
| _RV_ | _NotOlderThan_ | _unset_ | _N_ | Quorum read request + check for _RV_ | Delegated to etcd | Deferred |
279+
| _RV_ | _NotOlderThan_ | _token_ | _unset_/ _N_ | Fails [validation] | Fails [validation] | |
279280

280281
[validation]: https://github.com/kubernetes/kubernetes/blob/release-1.30/staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion/validation/validation.go#L28
281282
[etcd resolution]: https://github.com/kubernetes/kubernetes/blob/release-1.30/staging/src/k8s.io/apiserver/pkg/storage/etcd3/store.go#L589-L627

0 commit comments

Comments
 (0)