Commit Graph

144 Commits

Author SHA1 Message Date
Jiaxin Shan dfad5032fb Fix ALPHA stability level reference link
Kubernetes-commit: e01a21469b9719f7d0e84021c032cd8f0016b5d2
2021-01-31 15:37:07 -08:00
Maciej Borsz 5d1582cdd6 Print queue lengths on watch termination
Kubernetes-commit: 8f8beeabb7deb04624c70444012ebc8ba59d990f
2021-01-20 09:32:00 +01:00
Maciej Borsz 8313c177f0 Improve logging in cacheWatcher
Kubernetes-commit: b78f0b31063b7d47781a1ce9ee4ed6c118fb949f
2021-01-11 12:33:52 +01:00
Maciej Borsz 255da953aa Add 'apiserver_terminated_watchers_total'
Kubernetes-commit: 342ad48feb2629ebc832c0b85c52b4eb04d81498
2021-01-08 10:55:44 +01:00
wojtekt 3de94d4883 Unify variable naming between GuaranteedUpdate and Delete in storage
Kubernetes-commit: d0726e4b1354b1c8c3978b96ab7b01d13a2b6340
2020-12-16 09:28:44 +01:00
wojtekt ddcc69d4f7 Use current state from watchcache to avoid etcd get for deletions
Kubernetes-commit: 7bab6a9c6ed7d4e54da3e010a7bf0a30786d28f9
2020-11-03 17:30:26 +01:00
wojtekt 8c25869e43 Add suggestion to storage interface Delete method
Kubernetes-commit: c2d61896f45967cdea15072b7a12faeb635b5dc5
2020-11-03 13:21:00 +01:00
yuanhuaiwang ceb54fd8a6 improve watchCache metrics
Kubernetes-commit: 58e4fae1daafd88dbcc5bd38601397f13d391744
2020-12-02 16:19:20 +08:00
Ken Sipe 3c3ae0913c fixing unwanted editor changes
Signed-off-by: Ken Sipe <kensipe@gmail.com>

Kubernetes-commit: 3de47dc05853131dcfc588bf2043207487cdd7c4
2020-06-25 17:31:38 -05:00
Ken Sipe b60943f03a fix S1019 use of make
Signed-off-by: Ken Sipe <kensipe@gmail.com>

Kubernetes-commit: a4d05d51d95d30ebe90ec8f652c9a794caa44d53
2020-06-25 17:26:42 -05:00
Ken Sipe 92af261bb8 fix SA2006 value of err not used
Signed-off-by: Ken Sipe <kensipe@gmail.com>

Kubernetes-commit: a549d0a75e3a09d26f3a316982ff3711be4ed1d2
2020-06-25 17:23:37 -05:00
Ken Sipe 8877e7bd70 fix S1039 unnecessary use of fmt.Sprintf
Signed-off-by: Ken Sipe <kensipe@gmail.com>

Kubernetes-commit: 168677400c964fe823b985db35b5e1473db17b0f
2020-06-25 17:04:41 -05:00
wojtekt 649d11a350 Fix TestStartingResourceVersion flakiness
Kubernetes-commit: 37b0004978ebc77838c1a83cf5211f5216e7b3b4
2020-11-18 08:36:05 +01:00
chenyw1990 e6daad296e Fix cacheWatcher leak when time jump to the future and jump back
Kubernetes-commit: 36d5db95f8598bc64071c663c6f44a453c662102
2020-11-05 22:02:41 +08:00
wojtekt 942f220e85 Remove variadic argument from storage interface
Kubernetes-commit: 8b98305858b107369f2c9b9fd8ef1c5b0da078c0
2020-11-02 15:52:51 +01:00
wojtekt 0f83389bec Fix cacher test after bumping fakeBudget timeout to 2 seconds
Kubernetes-commit: f62e61c28f11a39c1fb4cfda5842bb648ee24eb9
2020-10-27 15:25:31 +01:00
wojtekt e0edc885d5 Fix cacher test flakiness
Kubernetes-commit: 6eb71c4089f69c7cc35ef2fd13bba4329b5716b9
2020-10-26 15:29:51 +01:00
wojtekt cdc93483b8 Watch bookmarks may contain version of objects of other types
Kubernetes-commit: 0bd8104809922aae504fc9be2e853650ecd17b8a
2020-09-29 12:27:20 +02:00
wojtekt c4fb001eda Enable progress notify events in watchcache
Kubernetes-commit: a94fb5369d5e77b3fcafd1296bac072a1d6e13fe
2020-08-31 13:15:36 +02:00
Joe Betz 97937c66f2 Revert nested trace PR#88936
Kubernetes-commit: 02cf58102a61b6d1e021e256381ff750573ce55d
2020-07-20 09:55:05 -07:00
Joe Betz 7a467399ac Enable nested tracing, add request filter chain tracing incl. authn/authz tracing
Kubernetes-commit: b12ac0abc64adb71d97fbde12f373b1424631f20
2020-03-06 16:11:21 -08:00
Joe Betz ee219411ed Add ResourceVersionMatch parameter to make Resource Version semantics consistent for list
Kubernetes-commit: e214f2408b59c745c199645547948a8ad2a87ac2
2020-05-29 10:44:26 -07:00
wojtekt 8a4e4b61c9 Add initialization logs to watchcache
Kubernetes-commit: 34b2cf7d2e1c09e10d97ec83e413c41ea7364d80
2020-06-18 13:55:23 +02:00
gongguan 5dbb27a1df remove deprecated cacher CacheCapacity config
Kubernetes-commit: 12c838136b09005e0cbc831096643195ef24cb89
2020-06-05 21:34:36 +08:00
gongguan 1da8aeae17 improve Clock as Cacher Config
Kubernetes-commit: 0f7de876a5e931a57ba6347b81e8e28d360c788a
2020-06-15 23:57:11 +08:00
Wojciech Tyczynski 54e40d4b2d Revert "Revert "Rely on default watch cache capacity and ignore its requested size""
Kubernetes-commit: 7787ebc85b87eb7bc00f234f4e52eed3d987d5dd
2020-05-27 14:19:38 +02:00
Gaurav Singh 72110f9b1f Code review changes
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Kubernetes-commit: 6a28f1995a4d0749d4871f80c0d8e2989e833a78
2020-05-19 16:42:20 -04:00
Gaurav Singh 7dd66e9272 Fix bug
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Kubernetes-commit: 549214ca8c6f7e05fcbb0c8c045251819b039947
2020-05-17 17:54:28 -04:00
Gaurav Singh 168bf11368 Fix data race in cacher whitebox test
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Kubernetes-commit: 3dc7098cae4c699e30ed9ae85005446f8322fe99
2020-05-17 17:51:49 -04:00
Joe Betz 5b75cf0ff9 Add GetOptions and ListOptions to storage interface
Kubernetes-commit: 4c99949ae6b4a74e4ffda0caba86c151c23d579e
2020-05-29 10:48:33 -07:00
wojtekt 8371df6187 Watch should return "too old RV" if it can't serve it.
Kubernetes-commit: ef1e5b6d3ac25431d890bfe4f540d9aa956a856d
2020-05-25 20:46:27 +02:00
Jordan Liggitt d501f7b597 Revert "Rely on default watch cache capacity and ignore its requested size"
This reverts PR 91260

Kubernetes-commit: 6249f287e1d3d9fb63b60961c8625a82d7db360e
2020-05-23 09:21:22 -04:00
wojtekt 31ffec3302 Rely on default watch cache capacity and ignore its requested size
Kubernetes-commit: 99dff90d613e2014873dc2fae0a00acaf95c3bd2
2020-05-19 18:13:28 +02:00
Davanum Srinivas 5879417a28 switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 442a69c3bdf6fe8e525b05887e57d89db1e2f3a5
2020-04-17 15:25:06 -04:00
wojtekt 6332f98216 Update duration to be kept in watchcache
Kubernetes-commit: d1de6295bb8047cbfd2a4ecbb0d264197f4cd8a4
2020-05-04 17:21:40 +02:00
Wojciech Tyczynski 4589c74d5e Send watch bookmarks every minute
Kubernetes-commit: 9f1e4620379028754f2da4223adf4d1a445e90f4
2020-04-27 18:41:31 +02:00
Wojciech Tyczynski 7686f3528b Revert "Send watch bookmarks every minute"
Kubernetes-commit: 1cb98ed2376b1f7777ca3d7bfac98cbb5f8b9ce3
2020-04-27 17:07:27 +02:00
wojtekt f1c77ba823 Send watch bookmarks every minute
Kubernetes-commit: d4b532e7190c2ad12a0317ff946e2cd0b33f0ada
2020-04-17 19:42:26 +02:00
louisgong 4c8b97679c Use dynamic size watch-cache.
If all cached events occur inside eventFreshDuration, increase cache capacity by 2x.
Decrease cache capacity by 2x when recent half events occur outside eventFreshDuration.

Kubernetes-commit: 56407b656c7acf6039cead0192070429e53a0c70
2020-04-12 17:22:38 +08:00
louisgong 1117ccdc72 move watchCache metrics to a seperate file
Kubernetes-commit: 21ba510ef0e02f64a813cb460212cb832f8f4d78
2020-04-16 15:45:16 +08:00
Abu Kashem 6d0de7f4cb Fix data race issue in unit test
TestDispatchingBookmarkEventsWithConcurrentStop can use processEvent
instead of `dispatchEvent` to avoid data race conditions with
`Cacher.watchersBuffer`.

Kubernetes-commit: 7dc075673c24ffd8bde08a4c7ec55a8b633b20e2
2020-03-16 17:43:32 -04:00
shaloulcy 2c701b633b validate storage cache indexers
Signed-off-by: shaloulcy <lcy041536@gmail.com>

Kubernetes-commit: fa9ba80a67deeb9089e1be8ebac21063ebc07904
2020-02-05 12:08:14 +08:00
shaloulcy 6099d76e39 add indexer for storage cacher
Signed-off-by: shaloulcy <lcy041536@gmail.com>

Kubernetes-commit: 87582e2c3c1cb8c8e10ec05a4700f865c759b7b2
2019-11-19 16:52:07 +08:00
Joe Betz 1ee386df74 Add HTTP 410 (Gone) status code checks to reflector and relist with RV=''
Kubernetes-commit: e2fe126d485af243d45f06bafd2ca83931881429
2019-10-09 16:45:32 -07:00
wojtekt a76d249b96 Tweak use of caching objects
Kubernetes-commit: c5170dfb66749b60a4a1611dc7b4a39e64b33e2e
2019-10-16 09:05:13 +02:00
wojtekt b950ddfb46 Promote WatchBookmarks feature to GA
Kubernetes-commit: a22a4ed3c54d6e30edc972f501fbfddc789bea9b
2019-09-26 15:29:52 +02:00
Joe Betz 1b75e5416d Use same 'minimum resource version' semantics both when watch cache is enabled and disabled
Kubernetes-commit: 1406f7adf20a9ceaf5b8270ec9a61dd9e450ae8a
2018-12-04 16:55:59 -08:00
Wojciech Tyczynski 20ecceebd3 Cache serializations
Kubernetes-commit: 25a728ae5eb0ae067d21679fad915c0555242470
2019-08-25 09:55:52 +02:00
Wojciech Tyczynski 4b6162fe6b CachingObject
Kubernetes-commit: 4cd81549f9a6a325183e6c43c831ecf79f434b8e
2019-08-25 06:16:49 +02:00
Ted Yu 66fb39740e Return proper Kind in error for Cacher
Kubernetes-commit: e4d880bd62fc694bffc188a680c9c088a86a5167
2019-09-07 19:42:56 -07:00
Han Kang 3e6e1db500 add some documentation around the metrics stability migration changes for clarity
Kubernetes-commit: 4e5d906c4d008f914b0ede26ea91533d6343dec5
2019-08-26 19:15:30 -07:00
Han Kang b9084e350a migrate kube-apiserver metrics to stability framework
Kubernetes-commit: 466980dd747e06e55451301c624eecccfa505123
2019-08-22 15:38:42 -07:00
Joe Betz f103fcda51 Replace string concatination with trace fields
Kubernetes-commit: 46a04d50af78e01d06a9879d62cc71fbe892076f
2019-08-02 23:47:24 -07:00
Ted Yu 258e8e3387 Rename cacheWatcher#stop
Kubernetes-commit: 0b3c07a98c7c03e3edcf4f21ff96ea74082a54e5
2019-08-02 04:32:50 -07:00
Ted Yu 2fe1729c24 Refine watcher count calculation
Kubernetes-commit: 4ce92b05acf7fec89c8723ba1779bf9e2baf55f4
2019-07-30 23:04:54 -07:00
Ted Yu 06470a960d Pop expired watchers in case there is no update
Kubernetes-commit: 0204bc7e2594c297f146701132ee969721ada2ab
2019-07-30 06:49:01 -07:00
Ted Yu 4eb89249bd Rename TriggerPublisherFunc as IndexerFunc
Kubernetes-commit: 6e98aab26e4fb867a6d8b4342937823cf1597d89
2019-07-18 06:45:48 -07:00
wojtekt bb8cecbe8c Simplify trigger functions in cacher
Kubernetes-commit: 68fd329e00d1ddf19a7ec0db1607820a1c4c008a
2019-07-04 14:21:06 +02:00
wojtekt fa23498ce7 Propagate error from creating cacher and storage decorators up
Kubernetes-commit: ee13be28845e8c55f6e2a2207ca4f46cd67fdb4e
2019-07-15 09:34:08 +02:00
fansong.cfs ec1dcedb44 delivery event non blocking firstly
Kubernetes-commit: 5e493ab467472f38d7e78b19180bb6c7684170f0
2019-04-28 21:06:59 +08:00
Ted Yu 5f417af526 Clear valueWatchers instead of removing every entry using a loop
Kubernetes-commit: a06daff032f981672a47c71b23c62b9b85793893
2019-07-01 20:11:39 +08:00
wojtekt 6d99094b88 Move APIObjectVersioner
Kubernetes-commit: fd819f8fdc2528249efc94c18da434b61fe87925
2019-06-28 13:58:08 +02:00
Jordan Liggitt 00e2435130 Make GetRemainingItemCount/SetRemainingItemCount use pointers
Kubernetes-commit: 145e8c46cf81ff16b65ff729c392ced262984847
2019-05-27 12:03:26 -04:00
Chao Xu 5c9333e4d3 Run deleteValidation at the storage layer so that it will be retried on
conflict.

Adding unit test verify that deleteValidation is retried.

adding e2e test verifying the webhook can intercept configmap and custom
resource deletion, and the existing object is sent via the
admissionreview.OldObject.

update the admission integration test to verify that the existing object
is passed to the deletion admission webhook as oldObject, in case of an
immediate deletion and in case of an update-on-delete.

Kubernetes-commit: 7bb4a3bace048cb9cd93d0221a7bf7c4accbf6be
2019-04-09 13:49:16 -07:00
Jordan Liggitt fea4dc8e52 Terminate watchers when watch cache is destroyed
Kubernetes-commit: d304c9ecbbd81a32f2c2e059d79e3f79d458a960
2019-05-17 10:02:08 -04:00
fansong.cfs ef7e49ea6d fix data race in unittest
Kubernetes-commit: 3892f6698072827506dfb04acdbf4c6d67a3879d
2019-05-13 15:00:16 +08:00
Andrew Kim ef71315b08 update import of generic featuregate code from k8s.io/apiserver/pkg/util/feature -> k8s.io/component-base/featuregate
Kubernetes-commit: c91913924543e1d29f3f3d51354701df9df75def
2019-03-04 12:46:52 -05:00
Chao Xu 034ed25bbe Add RemainingItemCount to ListMeta
Kubernetes-commit: 58c18309a84f9e0fe05b92c202616e4ecf8062f7
2019-04-01 14:44:19 -07:00
Ted Yu e65e768f58 Use read lock in ready#check
Kubernetes-commit: 04a7b50a020906e8e5cd32dfce378125606ce97d
2019-04-18 14:00:42 -07:00
wojtekt a3fd374f10 Reduce contention in watchcache by not calling event handler under lock
Kubernetes-commit: e6e43828284c6e83cf2b4658fa377b4cc7dec0c3
2019-04-17 12:53:36 +02:00
fansong.cfs d08e2bcfac add object type to cacheWatcher
Kubernetes-commit: 6c6d472039ea3628ac014d38a7ccc516554fce81
2019-04-23 00:35:56 +08:00
fansong.cfs 58fb117373 add watch bookmark
Kubernetes-commit: d70edd3d39d4430d71c4b7c9adba8df5ba7f16c8
2019-03-19 18:16:23 +08:00
wojtekt 22832ea49c Minor cleanup in cacher
Kubernetes-commit: 5d368ff301d328e4ffa5abacb3c2f2aeddb7715a
2019-04-10 12:56:02 +02:00
wojtekt f8c5a84403 Slightly simplify watchcache
Kubernetes-commit: c93f889833a4e9b519409c60f326c9970b4ee02a
2019-04-09 14:20:18 +02:00
Wojciech Tyczynski 670ff8c10b Revert "delivery event non blocking firstly"
Kubernetes-commit: cea9d65a2c9add769b4f5c0473a1ba3ae6ce0d8b
2019-04-05 15:36:08 +02:00
fansong.cfs 73057f16b6 add timeout suuport for watch
Kubernetes-commit: b304a1f96d85cd351a0e22a091e17064d5edb35e
2019-04-03 09:37:48 +08:00
Joe Betz 4cc45f82fc Add resourceVersion=0 paginated list integration test for disabled and enabled watch cache
Kubernetes-commit: e5a4f09ab3ac15815ceb039fbc7f546266855fd6
2019-03-21 11:25:07 -07:00
Joe Betz f90442e3fb Paginate List call performed by Reflector's ListAndWatch call
Kubernetes-commit: 84723c2d3ef5ff5d30aadd1ad72068bf2254358c
2019-03-14 13:26:19 -07:00
fansong.cfs c302cc97dd delivery event non blocking firstly
Kubernetes-commit: 8910abfdf3d13faf2bf415dc1019006fb06cbc9f
2019-03-21 17:11:58 +08:00
Benjamin Elder 8ad12b3912 Revert "add timeout suuport for watch"
This reverts commit c676e234cc1036a2a1147f2eeef9c89468671330.

Kubernetes-commit: 30a56bab42ab14a3a2ee21f5581b02525d4fd110
2019-04-01 18:39:17 -07:00
fansong.cfs 4d2b8eee69 add timeout suuport for watch
Kubernetes-commit: c676e234cc1036a2a1147f2eeef9c89468671330
2019-03-30 20:07:41 +08:00
fansong.cfs 9130ee52b5 Refactor watchcache to support bookmark
Kubernetes-commit: b29e69c1562f66cf339ae7cd58979528791f035f
2019-03-29 17:49:15 +08:00
wojtekt 6c2f66a5b5 Add explanation about forgetFunc in cacher
Kubernetes-commit: 605522b0c714c173d0a1ec8d00e46c3629107267
2019-03-27 08:24:45 +01:00
wojtekt 6ef883ed27 Reduce critical sections in watchache
Kubernetes-commit: 010cb4480825b54afb85c9fa97e2edc950a6d185
2019-02-20 10:41:50 +01:00
wojtekt d087fef459 Reduce lock contention in watchcache.
Kubernetes-commit: 9452adc5c89a834cd34a7758089804db0063f316
2019-02-12 14:26:45 +01:00
wojtekt 783162a9d2 Add metric exposing amount of processed init events in watchcache
Kubernetes-commit: 0a0835e92dddf98208e84d3ca5661739b7ebf164
2019-02-04 08:13:44 +01:00
wojtekt d8d5623948 Avoid going back in time in watchcache watchers
Kubernetes-commit: 1b436f1a2f8b735fea722254e09473e0707615dc
2019-02-08 12:30:04 +01:00
wojtekt 19dec1e94f Reduce Pool contention in cacher
Kubernetes-commit: c121632360355ce364f58f0babf20710522d8b0e
2019-02-06 10:44:57 +01:00
Andrew Kim 2b43930b32 replace k8s.io/apiserver/pkg/util/trace with k8s.io/utils/trace
Kubernetes-commit: 93b086f6eafc1e94214fc1d946a1917482751cf3
2019-01-24 11:50:30 -05:00
Jordan Liggitt 80029a760c Deprecate and remove use of alpha metadata.initializers field, remove IncludeUninitialized options
Kubernetes-commit: 17aa60686ebe5fd04b4fe6f442dc36a8d70b6730
2019-01-17 09:19:28 -05:00
wojtekt d0a6ca6003 Use watch cache when rv=0 even when limit is set
Kubernetes-commit: 4242d1b760314adc69498b1f523a4759c446d7c0
2018-11-07 10:38:31 +01:00
Davanum Srinivas 2710b17b80 Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135

Kubernetes-commit: 954996e231074dc7429f7be1256a579bedd8344c
2018-11-09 13:49:10 -05:00
wojtekt d3536986da Fix unnecessary too-old-errors from watch cache
Kubernetes-commit: 12021725922efc3a80c8a0673b28826a524eb0a0
2018-08-30 12:28:44 +02:00
fisherxu 9ffd3e56ff move cacher in separate dir
Kubernetes-commit: dbb448bbdcb9e440eee57024ffa5f1698956a054
2018-05-30 20:44:31 +08:00