kubernetes/pkg/controller
Kubernetes Submit Queue 8f431e4af8 Merge pull request #31167 from caesarxuchao/gc-absent-owner-cache
Automatic merge from submit-queue

[GarbageCollector] add absent owner cache

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**:
Reducing the Request sent to the API server by the garbage collector to check if an owner exists.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

#26120

**Special notes for your reviewer**:

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
```

Currently when processing an item in the dirtyQueue, the garbage collector issues GET to check if any of its owners exist. If the owner is a replication controller with 1000 pods, the garbage collector sends a GET for the RC 1000 times. This PR caches the owner's UID if it does not exist according to the API server. This cuts 1/3 of the garbage collection time of the density test in the gce-500 and gce-scale, where the QPS is the bottleneck.
2016-08-25 07:39:31 -07:00
..
certificates add an option to controller-manager to auto approve all CSRs 2016-08-22 11:46:01 -07:00
daemon daemonset controller should respect taints 2016-08-19 11:51:15 -07:00
deployment fix tests; convert IsPodActive to operate on *Pod 2016-08-17 13:05:37 -07:00
disruption Merge pull request #30800 from mml/db.controller.followup 2016-08-20 21:26:32 -07:00
endpoint Don't validate selector that is already validated 2016-08-22 09:39:32 +02:00
framework Collapse duplicate informer creation paths 2016-08-04 09:02:13 +02:00
garbagecollector Merge pull request #31167 from caesarxuchao/gc-absent-owner-cache 2016-08-25 07:39:31 -07:00
job Change podNamespacer API 2016-08-17 16:55:01 +02:00
namespace only store typeMeta and objectMeta in the gc store 2016-08-08 17:23:13 -07:00
node Merge pull request #30857 from better0332/master 2016-08-22 17:40:34 -07:00
petset Change podNamespacer API 2016-08-17 16:55:01 +02:00
podautoscaler Use List objects for metrics in kubectl top and HPA 2016-08-19 17:26:50 +02:00
podgc Use Go canonical import paths 2016-07-16 13:48:21 -04:00
replicaset Don't validate selector that is already validated 2016-08-22 09:39:32 +02:00
replication Don't validate selector that is already validated 2016-08-22 09:39:32 +02:00
resourcequota Merge pull request #29653 from ZTE-PaaS/zhangke-patch-010 2016-08-11 21:54:28 -07:00
route Use Go canonical import paths 2016-07-16 13:48:21 -04:00
scheduledjob Convert() should accept the new conversion Context value 2016-08-18 14:45:20 -04:00
service rewrite serivce controller to apply the latest controller pattern 2016-08-04 09:28:55 +08:00
serviceaccount move new etcd storage into cacher 2016-08-12 18:40:20 -07:00
volume Merge pull request #30690 from wongma7/claimref-capacity 2016-08-21 16:02:14 -07:00
OWNERS Remove myself from a bunch of OWNERS files, as I am too overloaded 2016-05-11 13:34:51 -07:00
controller_ref_manager.go fix tests; convert IsPodActive to operate on *Pod 2016-08-17 13:05:37 -07:00
controller_utils.go Don't validate selector that is already validated 2016-08-22 09:39:32 +02:00
controller_utils_test.go fix tests; convert IsPodActive to operate on *Pod 2016-08-17 13:05:37 -07:00
doc.go Use Go canonical import paths 2016-07-16 13:48:21 -04:00
lookup_cache.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00