Commit Graph

122 Commits

Author SHA1 Message Date
k8s-merge-robot
2bf52175f9 Merge pull request #23923 from hongchaodeng/exp
Automatic merge from submit-queue

Decouple etcd node.expiration logic from DeleitonTimestamp

ref: https://github.com/kubernetes/kubernetes/issues/23902
2016-04-17 04:12:26 -07:00
k8s-merge-robot
a275a045d1 Merge pull request #23914 from sky-uk/make-etcd-cache-size-configurable
Automatic merge from submit-queue

Make etcd cache size configurable

Instead of the prior 50K limit, allow users to specify a more sensible size for their cluster.

I'm not sure what a sensible default is here. I'm still experimenting on my own clusters. 50 gives me a 270MB max footprint. 50K caused my apiserver to run out of memory as it exceeded >2GB. I believe that number is far too large for most people's use cases.

There are some other fundamental issues that I'm not addressing here:
- Old etcd items are cached and potentially never removed (it stores using modifiedIndex, and doesn't remove the old object when it gets updated)
- Cache isn't LRU, so there's no guarantee the cache remains hot. This makes its performance difficult to predict. More of an issue with a smaller cache size.
- 1.2 etcd entries seem to have a larger memory footprint (I never had an issue in 1.1, even though this cache existed there). I suspect that's due to image lists on the node status.

This is provided as a fix for #23323
2016-04-17 00:06:31 -07:00
Hongchao Deng
b9745999c9 Decouple etcd node.expiration logic from DeleitonTimestamp 2016-04-13 15:11:53 -07:00
James Ravn
5bb0595260 Make deserialization cache size configurable
Instead of the default 50K entries, allow users to specify more sensible
sizes for their cluster.
2016-04-12 13:42:27 +01:00
Wojciech Tyczynski
2699be2e7e Switch api.ObjetaMetaFor to meta.Accessor 2016-03-31 17:52:31 +02:00
k8s-merge-robot
95e09e303f Merge pull request #22965 from caesarxuchao/delete-UID-precondition
Auto commit by PR queue bot
2016-03-26 09:36:28 -07:00
goltermann
32d569d6c7 Fixing all the "composite literal uses unkeyed fields" Vet errors. 2016-03-25 15:25:09 -07:00
Chao Xu
31b425b3a1 add delete precondition 2016-03-25 11:21:39 -07:00
Timothy St. Clair
d3da93c174 Renaming api/errors/etcd to api/errors/storage as it no longer
has any etcd specific dependencies.  Reference issue #17546
2016-03-15 20:23:47 -05:00
Jordan Liggitt
a1c2267f20 Decrease parallelism in deletecollection test, lengthen test etcd certs 2016-03-12 18:30:12 -05:00
Chao Xu
a3a6130f44 ignore NotFound error in etcd 2016-03-03 13:26:40 -08:00
Chao Xu
8566056d18 revert 20202 2016-02-28 19:03:22 -08:00
Wojciech Tyczynski
506899008f Parallelization of namespace deletion 2016-02-25 16:33:25 +01:00
Jordan Liggitt
d575a954fa Tolerate individual NotFound errors in DeleteCollection 2016-02-17 00:06:44 -05:00
Wojciech Tyczynski
2e97793840 Don't store no-op updates in etcd. 2016-02-12 09:23:28 +01:00
Chao Xu
fdf6a0f61c skip update when deleting with grace-period=0 2016-02-02 10:53:25 -08:00
k8s-merge-robot
c5260c8c71 Merge pull request #20145 from mqliang/quorum-read
Auto commit by PR queue bot
2016-02-02 05:50:41 -08:00
k8s-merge-robot
9d9864486b Merge pull request #19342 from caesarxuchao/remove-resourceversion-check
Auto commit by PR queue bot
2016-01-31 18:11:47 -08:00
mqliang
b0e06c14e5 add a knob to enable quorum read 2016-01-30 20:32:12 +08:00
Chao Xu
ebcff4b5e4 fix the namespaceScoped of cachers 2016-01-28 16:24:54 -08:00
Chao Xu
db9b5c97fb fix e2e 2016-01-22 10:31:03 -08:00
Chao Xu
a248d1117b remove ResourceVersion validation in client 2016-01-22 10:14:39 -08:00
Wojciech Tyczynski
8dc83547b0 Close watch in generic etcd_test 2015-12-28 11:43:20 +01:00
Wojciech Tyczynski
e108a32b08 Merge pull request #18655 from wojtek-t/versioned_list_options_in_server
Switch to versioned ListOptions in server.
2015-12-22 10:57:09 +01:00
Wojciech Tyczynski
2b8854ba28 Close watchers in tests 2015-12-22 09:54:05 +01:00
Wojciech Tyczynski
58336829be Switch to versioned ListOptions in server. 2015-12-21 14:23:37 +01:00
deads2k
9fda7f1812 update StatusDetails to handle Groups 2015-12-17 09:14:12 -05:00
Brendan Burns
a60069b300 Add a server side export facility 2015-12-16 19:42:08 -08:00
Clayton Coleman
8f203a28f1 Change runtime.Object signature 2015-12-15 13:36:25 -05:00
Jeff Lowdermilk
f6686ba3a4 Merge pull request #18290 from wojtek-t/fast_namespace_deletion
Support collection deletion in apiserver.
2015-12-11 13:34:56 -08:00
Tim Hockin
87a35047dd Move FieldPath and errors to a sub-package
This makes the naming and reading a lot simpler.
2015-12-10 11:48:16 -08:00
k8s-merge-robot
0bf11d89cf Merge pull request #18277 from wojtek-t/better_traces
Auto commit by PR queue bot
2015-12-10 09:56:13 -08:00
Wojciech Tyczynski
f28bb68d8c Support collection deletion in apiserver. 2015-12-10 09:46:25 +01:00
Wojciech Tyczynski
793da62c7f Change resourceVersion to string in storage.Interface 2015-12-07 09:22:59 +01:00
Wojciech Tyczynski
788218d7bb Better traces for api calls. 2015-12-07 09:15:54 +01:00
Wojciech Tyczynski
0736d5c893 Better traces in list operations. 2015-12-03 09:16:37 +01:00
Wojciech Tyczynski
bf13bef955 Use unversioned.ListOptions in API server. 2015-11-24 14:42:21 +01:00
Tim Hockin
48b49a5cae s/ValidationErrorList/ErrorList/ 2015-11-22 20:13:20 -08:00
Tim Hockin
0ff66da346 Move fielderrors into validation 2015-11-22 20:12:20 -08:00
Timothy St. Clair
02851dd1b7 Removal of fakeClient and shift to storage.Interface for
all registry tests.
2015-11-19 10:34:30 -06:00
k8s-merge-robot
961a02a602 Merge pull request #17204 from thockin/airplane-rest-canonicalize
Auto commit by PR queue bot
2015-11-13 18:17:18 -08:00
Wojciech Tyczynski
a5a8717539 Pass versioner to cacher. 2015-11-13 08:35:28 +01:00
Tim Hockin
35ab5c6234 Add a REST hook for post-validation canonicalize
This is a simple hook that only Endpoints uses for now.
2015-11-12 21:13:16 -08:00
Wojciech Tyczynski
3df5d1dbc3 Move storage-related dirs under pkg/storage. 2015-11-12 19:49:32 +01:00
k8s-merge-robot
6b7115067d Merge pull request #16807 from smarterclayton/server_backpressure_on_etcd_down
Auto commit by PR queue bot
2015-11-05 21:19:30 -08:00
Timothy St. Clair
f6f2f41ab3 Removal of fakeClient from registry/generic/etcd/etcd_test.go in leiu of
NewEtcdTestClientServer
2015-11-05 08:28:58 -06:00
Clayton Coleman
3da15535b6 Provide backpressure to clients when etcd goes down
When etcd is down today we don't specifically handle the error involved,
which means clients get a generic 500 error. This commit adds a formal
error type internally for both WatchExpired and EtcdUnreachable, and
then converts them to api/errors before returning to the client. It also
upgrades the client to retry on any 429 or 5xx error that has a
Retry-After header, instead of just 429.

In combination, this allows the apiserver to exert backpressure on
controllers that are hotlooping.  Picked 2 seconds by default, but we
could potentially ramp that up even further in a future iteration.
2015-11-04 16:05:12 -05:00
Jordan Liggitt
b3157d1445 Ensure HPA has valid resource/name/subresource, validate path segments 2015-11-03 14:46:17 -05:00
Wojciech Tyczynski
9c53f301f1 Merge selectors with ListOptions. 2015-10-29 15:42:57 +01:00
Wojciech Tyczynski
aa30e38183 Pass resource version to storage List operation. 2015-10-27 10:03:58 +01:00