Commit Graph

4893 Commits

Author SHA1 Message Date
Wojciech Tyczyński 44154d94e6 Enable support for indexes in WatchTracker
Kubernetes-commit: 21ec77dc19047215094a538b717e24035ca000ab
2021-10-28 14:57:47 +02:00
Wojciech Tyczyński 9ad8b586fc P&F: Update WatchTracker interface to pass more information
Kubernetes-commit: 12746f4bc15458d585ffd4c6e9d6066810e27361
2021-10-28 12:41:41 +02:00
Kubernetes Publisher 9187c5069a Merge pull request #105930 from wojtek-t/pf_watch_support_7
P&F: Update and cleanup mutating work estimator

Kubernetes-commit: 76694983a1c50532206504e2b5e2b9767851354e
2021-11-01 16:46:03 +00:00
Kubernetes Publisher ecb503ed6a Merge pull request #105739 from tkashem/apf-decision-cancel
apf: call metrics.AddReject for decisionCancel

Kubernetes-commit: e580aa93d14a6efe1afe72be7ee08fdd13e59df3
2021-10-29 16:45:46 +00:00
Kubernetes Publisher 9692745d3a Merge pull request #106010 from wojtek-t/cleanup_watchcache
Minor watchcache cleanup

Kubernetes-commit: 59e6e3f2f366764618f15fc113590e6273d0a209
2021-10-29 16:45:44 +00:00
Kubernetes Publisher 5652236bf8 Merge pull request #106005 from MadhavJivrajani/refactor-cacher-process
cacher: refactor process() function

Kubernetes-commit: 5cf54fe7622e3a33ec1cf6aa93a9a209dcdb4e3a
2021-10-29 12:46:00 +00:00
Wojciech Tyczyński 93c06a1426 Minor watchcache cleanup
Kubernetes-commit: ace55542575fb098b3e413692bbe2bc20d2348ba
2021-10-29 14:06:49 +02:00
Madhav Jivrajani af19f84a96 cacher: refactor process() function
Split process() function into processEvents() and process().
This is done in anticipation of GetAllEventsSinceThreadUnsafe()
returning an entity using which events can be constructed and
not the events itself.

Subsequently, this commit also moves updating resource version
for initEvents from Watch() to the processEvents() func.

Signed-off-by: Madhav Jivrajani <madhav.jiv@gmail.com>

Kubernetes-commit: aab7cd3d8a66f425022ca5b2a2bd0d3019efe526
2021-10-29 14:41:10 +05:30
Kubernetes Publisher 2940138256 Merge pull request #105734 from marseel/fix/race_condition
Fix race condition in logging when request times out

Kubernetes-commit: afff019fbc90373127020693cdb056a968468f04
2021-10-28 12:44:46 +00:00
Wojciech Tyczyński bdc01eb8e6 P&F: update mutating request estimation
Kubernetes-commit: 4700cf622bfcf5c2b159ddc4e37d7f51d1c41e68
2021-10-27 10:25:38 +02:00
Wojciech Tyczyński 55b43e446f P&F: move seat-seconds to a better location
Kubernetes-commit: e262db7a4daf5218520e49b423789ea55a94af75
2021-10-27 10:30:25 +02:00
Wojciech Tyczyński 9c98ce48a5 P&F: clean up mutating work estimator tests
Kubernetes-commit: 943bc38c0e0076935701d32067d5a2d8d512be8a
2021-10-27 10:05:13 +02:00
Kubernetes Publisher bd2365e2f0 Merge pull request #105896 from zqzten/upgrade-json-patch
upgrade json-patch to v4.12.0

Kubernetes-commit: 18cb34ebb2b64a7607057c7dea80427e2af387f3
2021-10-27 00:48:58 +00:00
Kubernetes Publisher 1adce55175 Merge pull request #104748 from p0lyn0mial/not-found-handler
return 503 for aggregated APIs when the APIServiceRegistrationController hasn't finished installing all known APIServices

Kubernetes-commit: 7c530952189e66d4bd07688caa038efbf7690f0a
2021-10-27 00:48:56 +00:00
Zach Zhu e669c2bf4b upgrade github.com/evanphx/json-patch to v4.12.0
Fix partial negative indice support in json patch

Kubernetes-commit: 20cc72344e653ab90c1a851816bb206b715fd231
2021-10-26 11:20:45 +08:00
Kubernetes Publisher f4eed88dd1 Merge pull request #105879 from mborsz/patch-16
Also log err in *deferredResponseWriter.Write

Kubernetes-commit: 9248f27e2368f4ca02f1fc0cc669c9fb5b16143e
2021-10-25 05:36:23 -07:00
Maciej Borsz 7bf60762ac Update writers.go
Kubernetes-commit: f0c7c9abc92e9e32b4f83281f60d76bf25eed579
2021-10-25 13:35:43 +02:00
Kubernetes Publisher eb0856a65a Merge pull request #105866 from MikeSpreitzer/clarify-phase
Clarify metrics help wrt APF execution phases

Kubernetes-commit: f3551dd94219e6cde794ab888d6a395f7b9890d4
2021-10-25 12:44:34 +00:00
Kubernetes Publisher a028d9cd71 Merge pull request #105872 from wojtek-t/fix_delete_collection
Fix delete collection error channel size

Kubernetes-commit: 05a18a34b7a4543fb65e8fae0e355507ea7a83f7
2021-10-25 01:16:23 -07:00
Wojciech Tyczyński 0f1abbd5e4 Fix delete collection error channel size
Kubernetes-commit: f609a8e0b525ee22b3ea1a850a3b0504627525ea
2021-10-25 08:07:21 +02:00
Mike Spreitzer 5283383fb5 Clarify metrics help wrt APF execution phases
Kubernetes-commit: d7a3bf0d260a0c291941cda68492f10e5010ac91
2021-10-24 22:32:13 -04:00
Kubernetes Publisher c6a8965948 Merge pull request #104877 from pohly/json-kobj
component-base: test and fix JSON output for KObj

Kubernetes-commit: a5cd438b9fbf49e013453f4d6c9b2e935a78071c
2021-10-22 20:48:55 +00:00
Patrick Ohly a5aab02811 klog 2.30.0, logr 1.2.0, zapr 1.2.0
The new releases fix logging of KObj in JSON output: klog implements the new
logr.Marshaler interface and zapr uses it instead of Stringer when logging the
ObjectRef created by KObj.

Kubernetes-commit: 169e8b65a00b45ef8bbc7a14cd985df1c835953b
2021-10-22 15:13:47 +02:00
Kubernetes Publisher 95d95677f5 Merge pull request #105030 from liggitt/json-stdlib
switch from json-iterator to forked stdlib json decoder

Kubernetes-commit: cc25656b00baa33168b7a9bc574101a06788efea
2021-10-22 04:44:37 +00:00
Kubernetes Publisher 3d1bdae9f4 Merge pull request #105511 from benluddy/apf-delegated-signal
Free APF seats for watches handled by an aggregated apiserver.

Kubernetes-commit: 313b43a8cb792efb26de0ade8da7bb9abe523674
2021-10-22 00:41:35 +00:00
Kubernetes Publisher 1e65a6af45 Merge pull request #105663 from Jefftree/feature-openapiv3
Add feature flag for OpenAPI v3

Kubernetes-commit: c767c9d993a7fd6877198808391b5a443e01f090
2021-10-21 20:41:51 +00:00
Kubernetes Publisher 372475ee95 Merge pull request #105606 from sxllwx/fix/goroutine-leak
fix goroutine leak in the DeleteCollection

Kubernetes-commit: 2dede1d4d453413da6fd852e00fc7d4c8784d2a8
2021-10-21 16:41:37 +00:00
Kubernetes Publisher dcb9f8f87a Merge pull request #105729 from MikeSpreitzer/do-not-assume-decision
Remove presumptions about what decision has been made

Kubernetes-commit: c269494ebc43378b686dafa277feb1c42acee531
2021-10-21 00:44:57 +00:00
Lukasz Szaszkiewicz 3af709f483 aggregator: pass apiServiceRegistrationControllerInitiated signal directly to apiserviceRegistration controller
Kubernetes-commit: 5116a508a7bf84844f4987ab2db14af88bfd296f
2021-10-20 11:06:27 +02:00
Lukasz Szaszkiewicz 67be998d0f rename to muxAndDiscoveryComplete
Kubernetes-commit: 9e2bdfee02a6851fbb13ffe28611e9d2b6242785
2021-10-19 12:24:00 +02:00
Abu Kashem 3f529d0551 apf: call metrics.AddReject for decisionCancel
Kubernetes-commit: f6dcf17a10dfd2cb5ce0ea7923723547c92c2e55
2021-10-18 13:08:56 -04:00
Marcel Zięba 35731724b9 Fix race condition in logging when request times out
Kubernetes-commit: 269431c9c894d70a4412bb79d96822d842725cb0
2021-10-18 14:48:47 +00:00
Mike Spreitzer 5ab6f3fe6b Remove presumptions about what decision has been made
Kubernetes-commit: e70999becd98aa00fd00bc622ffdca0476ec7340
2021-10-18 02:10:21 -06:00
Kubernetes Publisher 5842a16b01 Merge pull request #105738 from tkashem/apf-remove-func
apf: return nil for a request that has been removed from queue

Kubernetes-commit: 5cdc3407eefeb86b2a69e292748d4a4477233b37
2021-10-19 06:30:39 -07:00
Abu Kashem b40e786ba3 apf: return nil for a request that has been removed from queue
Kubernetes-commit: cd06ba502cf85603242008cc9f61234790ede6de
2021-10-18 12:46:54 -04:00
Kubernetes Publisher f2e79e7e23 Merge pull request #105757 from MikeSpreitzer/catch-up
Fix nits noticed in recent code review

Kubernetes-commit: edeab47b36a62e26f3cb456d19894ed749fd667f
2021-10-19 08:41:27 +00:00
Mike Spreitzer c5a0365136 Fix nits noticed in recent code review
Kubernetes-commit: 1844a052776bce33322ce20c11b2902403655ef8
2021-10-18 23:51:48 -05:00
Kubernetes Publisher 53ec746131 Merge pull request #105674 from tkashem/apf-debug
apf: include seat information in per request debug dump

Kubernetes-commit: 0cef26182cf83091317c17ebb28918391ecf3583
2021-10-16 08:42:00 +00:00
Lukasz Szaszkiewicz 5c13ee7dbf genericapiserver: indroduce muxCompleteSignals for holding signals that indicate all known HTTP paths have been registered
the new field exists primarily to avoid returning a 404 response when a resource actually exists but we haven't installed the path to a handler.
it is exposed for easier composition of the individual servers.
the primary users of this field are the WithMuxCompleteProtection filter and the NotFoundHandler.

Kubernetes-commit: ddfbb5d2bb57ee44b3e10f0b58f9cc7001f55802
2021-10-15 18:14:20 +02:00
Abu Kashem fb57181f8d apf: include seat information in request dump
Kubernetes-commit: 8e33a3b2cc97813724b64be36fe977290db3053a
2021-10-14 09:27:54 -04:00
Lukasz Szaszkiewicz ab8ebf841f apiserver: adds WithMuxCompleteProtection filter
It puts the muxCompleteProtectionKey in the context if a request has been made before muxCompleteSignal has been ready.
Putting the key protect us from returning a 404 response instead of a 503.
It is especially important for controllers like GC and NS since they act on 404s.

The presence of the key is checked in the NotFoundHandler (staging/src/k8s.io/apiserver/pkg/util/notfoundhandler/not_found_handler.go)

The race may happen when a request reaches the NotFoundHandler because not all paths have been registered in the mux
but when the registered checks are examined in the handler they indicate that the paths have been actually installed.
In that case, the presence of the key will make the handler return 503 instead of 404.

Kubernetes-commit: b71fa61b79598b723c3ee23217e0b44564d90b52
2021-10-14 14:25:54 +02:00
Lukasz Szaszkiewicz 1fc498576a apiserver: indroduces NotFoundHanlder
The new handler is meant to be executed at the end of the delegation chain.
It simply checks if the request have been made before the server has installed all known HTTP paths.
In that case it returns a 503 response otherwise it returns a 404.

We don't want to add additional checks to the readyz path as it might prevent fixing bricked clusters.
This specific handler is meant to "protect" requests that arrive before the paths and handlers are fully initialized.

Kubernetes-commit: 53867975e72c7a2d2dd94aac6bd2869411f92094
2021-10-15 17:37:16 +02:00
Jefftree f03b3720c2 Feature flag openapi v3
Kubernetes-commit: 8cb2b798c69e0b6c9cef2f06da14fad157e018ba
2021-10-13 09:35:53 -07:00
Kubernetes Publisher 2e373512bd Merge pull request #105660 from tkashem/apf-debug
apf: update queue debug to include queue sum stats and next dispatch R in seat-seconds

Kubernetes-commit: 92f67c6347c6ed5c5d2846bc5d26e49fe3217b37
2021-10-13 08:53:50 -07:00
Abu Kashem 20ef863037 apf: include seats in use in queue dump
Kubernetes-commit: edf657a33a70ff942d9a0695f602bed13e5e9628
2021-10-13 10:39:37 -04:00
Abu Kashem 88992ba87a apf: change QueueDump to use SeatSeconds
Kubernetes-commit: 3ef5752edf5b3f7076041368b1c1b5396ee534d7
2021-10-13 10:22:41 -04:00
Abu Kashem e4ae91b4a2 apf: include queue sum stats in debug
Kubernetes-commit: 87c7401eb853678da804ff503e266daeef5ad126
2021-10-13 10:14:30 -04:00
Kubernetes Publisher 2bf6f3434e Merge pull request #105647 from wojtek-t/disable_pf_for_watches
Disable P&F for watch requests

Kubernetes-commit: f0e80a6f10825142865a4069b6ec9a27c0eaa6c5
2021-10-13 02:53:50 -07:00
wojtekt f578e7708d Disable P&F for watch requests
Kubernetes-commit: 763e6d1dbb6371c66b62e4ea4c1fcbee1c113bda
2021-10-13 07:43:05 +02:00
Kubernetes Publisher a5bd3b4739 Merge pull request #105592 from MikeSpreitzer/test-final-seats
Update queueset_test.go for FinalSeats

Kubernetes-commit: cf5eced48049310dcf591537958fceeb78298d82
2021-10-13 00:43:38 +00:00