Kubernetes Publisher
fb0d7b20d1
Merge pull request #75389 from jpbetz/pagination-v1
...
Paginate watch cache->etcd List calls & reflector init/resync List calls not served by watch cache
Kubernetes-commit: c79fbabf234bea36f7b870da8e763c542c804be0
2019-04-04 07:07:28 +00:00
Kubernetes Publisher
04665e6b9c
Merge pull request #74877 from liggitt/go-mod-cleanup
...
add go module support, manage vendor directory using go modules
Kubernetes-commit: d920430ce4a9140102d06664c6aa1cd6792cab05
2019-04-04 07:07:26 +00:00
Clayton Coleman
e4e8608ba0
Use CodecFactory.WithoutConversion() everywhere
...
Clarifies that requesting no conversion is part of the codec factory, and
future refactors will make the codec factory less opionated about conversion.
Kubernetes-commit: 7f9dfe58f4cbe1e1b9e80f52addff70bac87bed4
2019-04-03 13:24:37 -04:00
Dr. Stefan Schimanski
541d02b251
Handle feature gate errors
...
Kubernetes-commit: 37046e30282ad1ea29f7b2998a6b1b56e864f5be
2019-04-03 16:49:49 +02:00
fansong.cfs
73057f16b6
add timeout suuport for watch
...
Kubernetes-commit: b304a1f96d85cd351a0e22a091e17064d5edb35e
2019-04-03 09:37:48 +08:00
Haowei Cai
4ff581692b
remove TrimSuffix and document buffer size
...
Kubernetes-commit: 0e61b77826f23cbf835002a9eef5722bb1cfdf53
2019-04-01 11:02:39 -07:00
Jordan Liggitt
16ff6b1e59
generated: hack/update-vendor.sh
...
Kubernetes-commit: d0261b10770210f83edbcfe379db24e1b82a9e86
2019-04-01 11:07:04 -04:00
Kubernetes Publisher
cbb436552f
Merge pull request #75547 from hormes/improve_the_efficiency_of_delivery_watch_events
...
delivery event non blocking firstly
Kubernetes-commit: c19dc742c4e05fb7c53e54e527f43eccd174ecc1
2019-04-04 07:06:54 +00:00
Kubernetes Publisher
9b20910895
Merge pull request #76002 from BenTheElder/revert-75835
...
Revert "add timeout suuport for watch"
Kubernetes-commit: e6844c21a46a2b5c7b802fe477f7a3a3c0fab087
2019-04-02 10:51:05 +00:00
Kubernetes Publisher
8b6e55f1c0
Merge pull request #75953 from wojtek-t/add_etcd_metrics
...
Expose etcd client latency metrics
Kubernetes-commit: fd23c84022afc68b6defc68fc31c804f7b96e426
2019-04-02 10:50:18 +00:00
Kubernetes Publisher
d1e178ce07
Merge pull request #75971 from smarterclayton/fix_partialobjectmeta_list
...
Correctly send list metadata with v1beta1 PartialObjectMetadataList
Kubernetes-commit: a3ae6c43c266ebfb7496430f2938993c6de81440
2019-04-02 06:50:48 +00: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
wojtekt
1fd6bb259f
Expose etcd client latency metrics
...
Kubernetes-commit: d5c9ad80499a9148a40b8a6c33c165cf12578649
2019-04-01 12:46:06 +02:00
Haowei Cai
278cabecf3
document the usage of errCh
...
Kubernetes-commit: 5809b6a4282f7ce58e0d815d9326289a8ee7ddb6
2019-03-28 16:55:03 -07:00
Clayton Coleman
f2b20f65e2
Set list meta on PartialObjectMetadataList during transform
...
Kubernetes-commit: 6801ce990a48196d871f6b46e1a08938025ce7c5
2019-03-24 21:29:20 -04:00
Kubernetes Publisher
d20c276e09
Merge pull request #75835 from hormes/add_timeout_to_watch
...
add timeout support for Watch()
Kubernetes-commit: 782ed5ce13ca43842b803f27e96201d233533768
2019-04-01 14:53:08 +00:00
fansong.cfs
4d2b8eee69
add timeout suuport for watch
...
Kubernetes-commit: c676e234cc1036a2a1147f2eeef9c89468671330
2019-03-30 20:07:41 +08:00
Kubernetes Publisher
4239377881
Merge pull request #75879 from hormes/watchcache_refactor
...
Refactor watchcache to pass function to create objects instead of the empty object itself
Kubernetes-commit: 2f62e8ff57de313e02e1565bd4762f822a442132
2019-03-29 18:52:04 +00:00
fansong.cfs
9130ee52b5
Refactor watchcache to support bookmark
...
Kubernetes-commit: b29e69c1562f66cf339ae7cd58979528791f035f
2019-03-29 17:49:15 +08:00
Kubernetes Publisher
34f0f00795
Merge pull request #75760 from wojtek-t/follow_comment_from_critical_sections
...
Add explanation about forgetFunc in cacher
Kubernetes-commit: 312eb890e6cf81fab43d88ae569802689a683065
2019-03-28 02:53:12 +00:00
Kubernetes Publisher
dc9fd9c468
Merge pull request #75748 from smarterclayton/request_scope_as_pointer
...
Make RequestScope be a pointer consistently for better memory use
Kubernetes-commit: a519e91256d54e51dc1693d17e7eb353e5870f36
2019-03-28 02:52:26 +00:00
Kubernetes Publisher
638fa8f764
Merge pull request #75755 from smarterclayton/save_one_allocate
...
Avoid allocating the watch shim object more than once
Kubernetes-commit: 6c22cff31747c17a46183171a2834feb1d67002e
2019-03-27 02:14:48 -07:00
wojtekt
6c2f66a5b5
Add explanation about forgetFunc in cacher
...
Kubernetes-commit: 605522b0c714c173d0a1ec8d00e46c3629107267
2019-03-27 08:24:45 +01:00
Clayton Coleman
8e43494f09
Avoid allocating the watch shim object more than once
...
We can reset and reuse this object repeatedly without triggering an
allocation.
Kubernetes-commit: 316a87ce7dff525555483eaac962899fd365177d
2019-03-26 23:34:25 -04:00
Kubernetes Publisher
90d1c0aa0a
Merge pull request #75743 from logicalhan/preshutdownerror
...
log preshutdowndown registration error if we encounter one
Kubernetes-commit: 42770799d31febf47fadd376748c7c9efc51ea55
2019-03-27 02:53:47 +00:00
Kubernetes Publisher
53a7466644
Merge pull request #75717 from wojtek-t/reduce_critical_sections
...
Reduce critical sections in cacher::Watch function
Kubernetes-commit: df9e66628ce43f5fbc806bb16554bff8276fbcf1
2019-03-27 02:52:59 +00:00
Kubernetes Publisher
b37a96d129
Merge pull request #75699 from smarterclayton/fast_encode
...
Avoid allocations when building SelfLinks and fast path escape
Kubernetes-commit: 1514bb2141d3c82830f64aa0e1f8c3650116b803
2019-03-26 22:54:34 +00:00
Han Kang
18a2d0a0ba
log preshutdowndown registration error if we encounter one
...
Kubernetes-commit: 021f6082944496765383c7572157e9be86ed4177
2019-03-26 13:04:10 -07:00
Clayton Coleman
c8f7d5017d
Make RequestScope be a pointer consistently for better memory use
...
RequestScope is a large struct and causes stack growth when we pass
it by value into multiple stack levels. Avoid the allocations for
this read only struct by passing a pointer.
Kubernetes-commit: 8fede0b18a81a6fb1acc1a48857f482857c25286
2019-03-25 23:33:48 -04:00
Clayton Coleman
8541248953
Avoid allocations when building SelfLinks and fast path escape
...
A self link should only require one allocation, and we should skip
url.PathEscape() except when the path actually needs it.
Add a fuzz test to build random strings and verify them against
the optimized implementation. Add a new BenchmarkWatchHTTP_UTF8 that
covers when we have unicode names in the self link.
```
> before
BenchmarkGet-12 10000 118863 ns/op 17482 B/op 130 allocs/op
BenchmarkWatchHTTP-12 30000 38346 ns/op 1893 B/op 29 allocs/op
> after
BenchmarkGet-12 10000 116218 ns/op 17456 B/op 130 allocs/op
BenchmarkWatchHTTP-12 50000 35988 ns/op 1571 B/op 26 allocs/op
BenchmarkWatchHTTP_UTF8-12 50000 41467 ns/op 1928 B/op 28 allocs/op
```
Saves 3 allocations in the fast path and 1 in the slow path (the
slow path has to build the buffer and then call url.EscapedPath
which always allocates).
Kubernetes-commit: 389a8436b52db4936b56e08f07984da362c91f6b
2019-03-25 18:06:57 -04:00
Kubernetes Publisher
f881eae9ec
Merge pull request #74321 from yastij/signal-undecorated-storage-event
...
use cache size to signal undecorated storage
Kubernetes-commit: ec64aef25f2fc8c7f3093d16566e6d2e40b61e4e
2019-03-24 10:52:20 +00:00
Kubernetes Publisher
5eae03fa38
Merge pull request #75570 from smarterclayton/fix_performance
...
Fix a regression in watch performance and reduce allocations in the GET path
Kubernetes-commit: b3824cd094f73def9d3cdb659f7fab9d855318fe
2019-03-22 22:57:53 +00:00
Clayton Coleman
78a40897c5
Unify runtime.SerializerInfo with negotiate.AcceptedMediaTypes
...
There was no reason to have two types and this avoids ~10% of allocations
on the GET code path.
```
BenchmarkGet-12 100000 109045 ns/op 17608 B/op 146 allocs/op
BenchmarkGet-12 100000 108850 ns/op 15942 B/op 132 allocs/op
```
Kubernetes-commit: 0489d0b1cf139253b82f73b072578073bc5616d6
2019-03-21 21:00:55 -04:00
Clayton Coleman
70165311bb
Avoid 3 object creations when no dryRun parameter is provided
...
These allocations should only occur rarely.
```
BenchmarkGet-12 100000 108013 ns/op 17732 B/op 149 allocs/op
BenchmarkGet-12 100000 109045 ns/op 17608 B/op 146 allocs/op
```
Kubernetes-commit: 59b4f47b225029068bf015117ada1a06d54fbd59
2019-03-21 20:57:36 -04:00
Clayton Coleman
f24566b3c2
Avoid an allocation on all requests when checking for an old user agent
...
ReplaceAllStrings always allocates, while scanning a relatively short
regex twice is slightly more CPU immediately but less later.
```
BenchmarkGet-12 100000 108824 ns/op 17818 B/op 152 allocs/op
BenchmarkGet-12 100000 108013 ns/op 17732 B/op 149 allocs/op
```
Kubernetes-commit: 83c41eab1d6f55c9ccf61744bfc345c95d3a0664
2019-03-21 20:48:00 -04:00
Clayton Coleman
9006e59e3b
IsListType uses reflection and is expensive for hot paths
...
IsListType was causing ~100 allocations for a non list object. It is
used in a wide range of code, so perform a more targeted check.
The use of `%#v` in a hot return path for `fmt.Errorf()` was the main
victim.
Replace `%#v` with a typed error and create a cache of types that are
lists with a bounded size (probably not necessary, but safer).
```
BenchmarkGet-12 100000 119635 ns/op 20110 B/op 206 allocs/op
BenchmarkWatchHTTP-12 100000 65761 ns/op 7296 B/op 139 allocs/op
BenchmarkGet-12 100000 109085 ns/op 17831 B/op 152 allocs/op
BenchmarkWatchHTTP-12 200000 33966 ns/op 1913 B/op 30 allocs/op
```
Kubernetes-commit: 58fb665646aa4c1b63f1322a50e3af7a60e39886
2019-03-21 20:43:26 -04:00
Clayton Coleman
dd5dd7ec7e
Add benchmark for naive endpoint Get so we can measure it
...
Baseline:
```
BenchmarkGet-12 100000 119635 ns/op 20110 B/op 206 allocs/op
BenchmarkWatchHTTP-12 100000 65761 ns/op 7296 B/op 139 allocs/op
```
Kubernetes-commit: 2e1506558ac2c82e83cbef469a6e1e845cfc9235
2019-03-21 20:45:19 -04:00
Kubernetes Publisher
0b35c22017
Merge pull request #75214 from deads2k/health
...
provide verbose output when health check fails
Kubernetes-commit: 1e184775aab958378bacc6e20723a20571e4ad19
2019-03-22 14:53:32 +00:00
Kubernetes Publisher
b663bdd6e2
Merge pull request #75270 from justincormack/uuid4
...
Use UUIDv4 not UUIDv1
Kubernetes-commit: 83d467c22e428fdb685fff3608e467531615d143
2019-03-22 10:55:51 +00: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
fansong.cfs
c302cc97dd
delivery event non blocking firstly
...
Kubernetes-commit: 8910abfdf3d13faf2bf415dc1019006fb06cbc9f
2019-03-21 17:11:58 +08:00
Kubernetes Publisher
be70ee9701
Merge pull request #75264 from smarterclayton/optimize_rbac_visit
...
Avoid allocating when performing VisitRulesFor on service accounts
Kubernetes-commit: ed4258e5c0d722425b1c7744b2bf09ad0d9fbfea
2019-03-21 02:58:03 +00:00
Kubernetes Publisher
e401ca3b79
Merge pull request #75279 from danielqsj/admission-metrics
...
remove the deprecated admission metrics
Kubernetes-commit: 5229bce04fc7d632f9349480267807a1d41fedf8
2019-03-20 14:53:29 +00:00
Kubernetes Publisher
d5ae2df97a
Merge pull request #71548 from smarterclayton/watch_converted
...
Support Table and PartialObjectMetadata on watch
Kubernetes-commit: 6f9bf5fe98bcc3b436fea4d6dd345a1502d20778
2019-03-20 06:55:11 +00:00
Kubernetes Publisher
7845c0df69
Merge pull request #73409 from yue9944882/bugfix/compatible-with-nil-authorizer
...
Fixes authz compatibility w/ nil authorizer in apiserver
Kubernetes-commit: a6677d6f3e2bf66299bf96a8737f2babf0327212
2019-03-20 02:51:46 +00:00
Joe Betz
f90442e3fb
Paginate List call performed by Reflector's ListAndWatch call
...
Kubernetes-commit: 84723c2d3ef5ff5d30aadd1ad72068bf2254358c
2019-03-14 13:26:19 -07:00
Kubernetes Publisher
39e839dff0
Merge pull request #75289 from dims/update-http2-dep-go-1.12
...
Update golang.org/x/net/... dependencies to release-branch.go1.12
Kubernetes-commit: e7d09ceb5019153831b4921ff35a170e46f634d2
2019-03-13 12:07:55 +00:00
Kubernetes Publisher
12dc5a8c75
Merge pull request #75277 from jennybuckley/fix-ints
...
Fix server side apply int/float bug
Kubernetes-commit: 93402fc8e85dd980af2ca2007232065bb9cf0d5d
2019-03-13 04:00:33 +00:00
Kubernetes Publisher
91bbfdf08d
Merge pull request #74040 from ajatprabha/issue_73648
...
add ResourceVersion to DeleteOptions.Preconditions
Kubernetes-commit: cc8afb25fcfbb2a12ef43300db89d724b284e3e3
2019-03-13 00:00:49 +00:00
Kubernetes Publisher
71c2b3645e
Merge pull request #75157 from aaron-prindle/version-check-apply
...
Added version check between patch and live object in server side apply
Kubernetes-commit: 0977ab69ade1fb9e286fe8cc6075fe1ac00ef3ca
2019-03-12 23:59:57 +00:00