Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove sync_writes optino for pinniped-proxy cred cache. #5518

Merged
merged 1 commit into from
Oct 24, 2022

Conversation

absoludity
Copy link
Contributor

@absoludity absoludity commented Oct 20, 2022

Signed-off-by: Michael Nelson minelson@vmware.com

Description of the change

This PR is the result of the investigation described on #5407 , the end result of which is a single line removal, though I've left some other changes that were helpful during debugging (logging related).

Benefits

Pinniped-proxy is faster when hit with lots of simultaneous requests.

NOTE: Leaving in draft as although the requests are serviced more quickly in pinniped-proxy, it's still taking 5s for the kubeapps-apis to respond. Investigating why...

Possible drawbacks

None.

Applicable issues

Additional information

After

2022-10-20T02:22:19.383560 [TRACE] - registering event source with poller: token=Token(1), interests=READABLE | WRITABLE
2022-10-20T02:22:19.383685 [INFO] - Listening on http://0.0.0.0:3333
2022-10-20T02:22:37.624364 [TRACE] - registering event source with poller: token=Token(2), interests=READABLE | WRITABLE
2022-10-20T02:22:37.626434 [TRACE] - registering event source with poller: token=Token(3), interests=READABLE | WRITABLE
2022-10-20T02:22:37.627386 [TRACE] - registering event source with poller: token=Token(4), interests=READABLE | WRITABLE
2022-10-20T02:22:37.627472 [TRACE] - registering event source with poller: token=Token(5), interests=READABLE | WRITABLE
2022-10-20T02:22:37.643862 [INFO] - prep_and_call took 17ms, 0 of which was call_pinniped
2022-10-20T02:22:37.649102 [TRACE] - deregistering event source from poller
2022-10-20T02:22:37.649281 [INFO] - prep_and_call took 22ms, 0 of which was call_pinniped
2022-10-20T02:22:37.654546 [TRACE] - deregistering event source from poller
2022-10-20T02:22:37.654692 [TRACE] - registering event source with poller: token=Token(16777220), interests=READABLE | WRITABLE
2022-10-20T02:22:37.655035 [TRACE] - registering event source with poller: token=Token(16777221), interests=READABLE | WRITABLE
2022-10-20T02:22:37.659207 [INFO] - POST https://kubernetes.default/apis/authorization.k8s.io/v1/selfsubjectaccessreviews 201 Created
2022-10-20T02:22:37.659305 [TRACE] - deregistering event source from poller
2022-10-20T02:22:37.660266 [INFO] - GET https://kubernetes.default/api?timeout=32s 200 OK
2022-10-20T02:22:37.660348 [TRACE] - deregistering event source from poller
2022-10-20T02:22:37.667275 [INFO] - prep_and_call took 6ms, 6 of which was call_pinniped
2022-10-20T02:22:37.714108 [TRACE] - registering event source with poller: token=Token(33554436), interests=READABLE | WRITABLE
2022-10-20T02:22:37.718380 [INFO] - GET https://kubernetes.default/apis?timeout=32s 200 OK
2022-10-20T02:22:37.718613 [TRACE] - deregistering event source from poller

First request from the barrage of apis starting at around 37.725

2022-10-20T02:22:37.725487 [INFO] - prep_and_call took 5ms, 5 of which was call_pinniped
2022-10-20T02:22:37.735112 [INFO] - prep_and_call took 3ms, 3 of which was call_pinniped
2022-10-20T02:22:37.813940 [TRACE] - registering event source with poller: token=Token(50331652), interests=READABLE | WRITABLE
2022-10-20T02:22:37.814030 [TRACE] - registering event source with poller: token=Token(33554437), interests=READABLE | WRITABLE
2022-10-20T02:22:37.814074 [TRACE] - registering event source with poller: token=Token(6), interests=READABLE | WRITABLE
2022-10-20T02:22:37.814383 [TRACE] - registering event source with poller: token=Token(7), interests=READABLE | WRITABLE
2022-10-20T02:22:37.814481 [TRACE] - registering event source with poller: token=Token(8), interests=READABLE | WRITABLE
2022-10-20T02:22:37.814709 [TRACE] - registering event source with poller: token=Token(9), interests=READABLE | WRITABLE
2022-10-20T02:22:37.814813 [TRACE] - registering event source with poller: token=Token(10), interests=READABLE | WRITABLE
2022-10-20T02:22:37.814831 [TRACE] - registering event source with poller: token=Token(11), interests=READABLE | WRITABLE
2022-10-20T02:22:37.814843 [TRACE] - registering event source with poller: token=Token(12), interests=READABLE | WRITABLE
2022-10-20T02:22:37.814871 [TRACE] - registering event source with poller: token=Token(13), interests=READABLE | WRITABLE
2022-10-20T02:22:37.814902 [TRACE] - registering event source with poller: token=Token(14), interests=READABLE | WRITABLE
2022-10-20T02:22:37.814962 [TRACE] - registering event source with poller: token=Token(15), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815016 [TRACE] - registering event source with poller: token=Token(16), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815034 [TRACE] - registering event source with poller: token=Token(17), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815047 [TRACE] - registering event source with poller: token=Token(18), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815077 [TRACE] - registering event source with poller: token=Token(19), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815105 [TRACE] - registering event source with poller: token=Token(20), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815139 [TRACE] - registering event source with poller: token=Token(21), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815171 [TRACE] - registering event source with poller: token=Token(22), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815189 [TRACE] - registering event source with poller: token=Token(23), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815203 [TRACE] - registering event source with poller: token=Token(24), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815243 [TRACE] - registering event source with poller: token=Token(25), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815258 [TRACE] - registering event source with poller: token=Token(26), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815270 [TRACE] - registering event source with poller: token=Token(27), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815286 [TRACE] - registering event source with poller: token=Token(28), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815296 [TRACE] - registering event source with poller: token=Token(29), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815331 [TRACE] - registering event source with poller: token=Token(30), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815347 [TRACE] - registering event source with poller: token=Token(31), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815364 [TRACE] - registering event source with poller: token=Token(32), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815379 [TRACE] - registering event source with poller: token=Token(33), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815391 [TRACE] - registering event source with poller: token=Token(34), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815402 [TRACE] - registering event source with poller: token=Token(35), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815415 [TRACE] - registering event source with poller: token=Token(36), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815445 [TRACE] - registering event source with poller: token=Token(37), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815481 [TRACE] - registering event source with poller: token=Token(38), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815524 [TRACE] - registering event source with poller: token=Token(39), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815538 [TRACE] - registering event source with poller: token=Token(40), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815549 [TRACE] - registering event source with poller: token=Token(41), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815556 [TRACE] - registering event source with poller: token=Token(42), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815563 [TRACE] - registering event source with poller: token=Token(43), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815571 [TRACE] - registering event source with poller: token=Token(44), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815586 [TRACE] - registering event source with poller: token=Token(45), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815600 [TRACE] - registering event source with poller: token=Token(46), interests=READABLE | WRITABLE
2022-10-20T02:22:37.815617 [TRACE] - registering event source with poller: token=Token(47), interests=READABLE | WRITABLE
2022-10-20T02:22:37.821099 [INFO] - prep_and_call took 6ms, 6 of which was call_pinniped
2022-10-20T02:22:37.831622 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:37.921448 [INFO] - prep_and_call took 5ms, 5 of which was call_pinniped
2022-10-20T02:22:37.930303 [TRACE] - registering event source with poller: token=Token(48), interests=READABLE | WRITABLE
2022-10-20T02:22:37.930452 [TRACE] - registering event source with poller: token=Token(49), interests=READABLE | WRITABLE
2022-10-20T02:22:37.930515 [TRACE] - registering event source with poller: token=Token(50), interests=READABLE | WRITABLE
2022-10-20T02:22:38.012687 [INFO] - prep_and_call took 81ms, 81 of which was call_pinniped
2022-10-20T02:22:38.025039 [INFO] - prep_and_call took 5ms, 5 of which was call_pinniped
2022-10-20T02:22:38.032356 [TRACE] - registering event source with poller: token=Token(51), interests=READABLE | WRITABLE
2022-10-20T02:22:38.112794 [INFO] - prep_and_call took 79ms, 79 of which was call_pinniped
2022-10-20T02:22:38.123357 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.134328 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.219670 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.232215 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.318885 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.331095 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.422437 [INFO] - prep_and_call took 8ms, 8 of which was call_pinniped
2022-10-20T02:22:38.513544 [INFO] - prep_and_call took 81ms, 81 of which was call_pinniped
2022-10-20T02:22:38.524671 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.611596 [INFO] - prep_and_call took 80ms, 80 of which was call_pinniped
2022-10-20T02:22:38.623105 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.710381 [INFO] - prep_and_call took 79ms, 79 of which was call_pinniped
2022-10-20T02:22:38.720621 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.731765 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.818281 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.830398 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.916853 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:38.928562 [INFO] - prep_and_call took 5ms, 5 of which was call_pinniped
2022-10-20T02:22:39.016400 [INFO] - prep_and_call took 5ms, 5 of which was call_pinniped
2022-10-20T02:22:39.027385 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:39.116275 [INFO] - prep_and_call took 82ms, 82 of which was call_pinniped
2022-10-20T02:22:39.134202 [INFO] - prep_and_call took 7ms, 7 of which was call_pinniped
2022-10-20T02:22:39.220496 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:39.232862 [INFO] - prep_and_call took 5ms, 5 of which was call_pinniped
2022-10-20T02:22:39.319704 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:39.332127 [INFO] - prep_and_call took 5ms, 5 of which was call_pinniped
2022-10-20T02:22:39.419896 [INFO] - prep_and_call took 5ms, 5 of which was call_pinniped
2022-10-20T02:22:39.432999 [INFO] - prep_and_call took 5ms, 5 of which was call_pinniped
2022-10-20T02:22:39.519121 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:39.530998 [INFO] - prep_and_call took 5ms, 5 of which was call_pinniped
2022-10-20T02:22:39.617987 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:39.629855 [INFO] - prep_and_call took 5ms, 5 of which was call_pinniped
2022-10-20T02:22:39.812817 [INFO] - prep_and_call took 85ms, 85 of which was call_pinniped
2022-10-20T02:22:39.823702 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:39.912236 [INFO] - prep_and_call took 81ms, 81 of which was call_pinniped
2022-10-20T02:22:39.923353 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:39.931401 [TRACE] - registering event source with poller: token=Token(52), interests=READABLE | WRITABLE
2022-10-20T02:22:39.931456 [TRACE] - registering event source with poller: token=Token(53), interests=READABLE | WRITABLE
2022-10-20T02:22:39.931498 [TRACE] - registering event source with poller: token=Token(54), interests=READABLE | WRITABLE
2022-10-20T02:22:39.931548 [TRACE] - registering event source with poller: token=Token(55), interests=READABLE | WRITABLE
2022-10-20T02:22:39.954760 [TRACE] - registering event source with poller: token=Token(56), interests=READABLE | WRITABLE
2022-10-20T02:22:39.954840 [TRACE] - registering event source with poller: token=Token(57), interests=READABLE | WRITABLE
2022-10-20T02:22:39.954905 [TRACE] - registering event source with poller: token=Token(58), interests=READABLE | WRITABLE
2022-10-20T02:22:39.954955 [TRACE] - registering event source with poller: token=Token(59), interests=READABLE | WRITABLE
2022-10-20T02:22:39.955027 [TRACE] - registering event source with poller: token=Token(60), interests=READABLE | WRITABLE
2022-10-20T02:22:39.955093 [TRACE] - registering event source with poller: token=Token(61), interests=READABLE | WRITABLE
2022-10-20T02:22:39.955123 [TRACE] - registering event source with poller: token=Token(62), interests=READABLE | WRITABLE
2022-10-20T02:22:39.955170 [TRACE] - registering event source with poller: token=Token(63), interests=READABLE | WRITABLE
2022-10-20T02:22:39.955215 [TRACE] - registering event source with poller: token=Token(64), interests=READABLE | WRITABLE
2022-10-20T02:22:39.955267 [TRACE] - registering event source with poller: token=Token(65), interests=READABLE | WRITABLE
2022-10-20T02:22:39.955320 [TRACE] - registering event source with poller: token=Token(66), interests=READABLE | WRITABLE
2022-10-20T02:22:39.955369 [TRACE] - registering event source with poller: token=Token(67), interests=READABLE | WRITABLE
2022-10-20T02:22:39.955417 [TRACE] - registering event source with poller: token=Token(68), interests=READABLE | WRITABLE
2022-10-20T02:22:39.955465 [TRACE] - registering event source with poller: token=Token(69), interests=READABLE | WRITABLE
2022-10-20T02:22:39.955509 [TRACE] - registering event source with poller: token=Token(70), interests=READABLE | WRITABLE
2022-10-20T02:22:39.955572 [TRACE] - registering event source with poller: token=Token(71), interests=READABLE | WRITABLE

First request completing at around 39.956, over 2s after first request began. This is a CPU resource issue.

2022-10-20T02:22:39.956047 [INFO] - GET https://kubernetes.default/apis/autoscaling/v2?timeout=32s 200 OK
2022-10-20T02:22:39.956134 [TRACE] - deregistering event source from poller
2022-10-20T02:22:39.957093 [INFO] - GET https://kubernetes.default/apis/authentication.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:39.957180 [TRACE] - deregistering event source from poller
2022-10-20T02:22:39.958238 [INFO] - GET https://kubernetes.default/apis/batch/v1beta1?timeout=32s 200 OK
2022-10-20T02:22:39.958330 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.014544 [TRACE] - registering event source with poller: token=Token(50331653), interests=READABLE | WRITABLE
2022-10-20T02:22:40.014639 [TRACE] - registering event source with poller: token=Token(67108868), interests=READABLE | WRITABLE
2022-10-20T02:22:40.014690 [TRACE] - registering event source with poller: token=Token(16777266), interests=READABLE | WRITABLE
2022-10-20T02:22:40.014729 [TRACE] - registering event source with poller: token=Token(72), interests=READABLE | WRITABLE
2022-10-20T02:22:40.014772 [TRACE] - registering event source with poller: token=Token(73), interests=READABLE | WRITABLE
2022-10-20T02:22:40.014813 [TRACE] - registering event source with poller: token=Token(74), interests=READABLE | WRITABLE
2022-10-20T02:22:40.014854 [TRACE] - registering event source with poller: token=Token(75), interests=READABLE | WRITABLE
2022-10-20T02:22:40.014894 [TRACE] - registering event source with poller: token=Token(76), interests=READABLE | WRITABLE
2022-10-20T02:22:40.014937 [TRACE] - registering event source with poller: token=Token(77), interests=READABLE | WRITABLE
2022-10-20T02:22:40.014985 [TRACE] - registering event source with poller: token=Token(78), interests=READABLE | WRITABLE
2022-10-20T02:22:40.015027 [TRACE] - registering event source with poller: token=Token(79), interests=READABLE | WRITABLE
2022-10-20T02:22:40.015067 [TRACE] - registering event source with poller: token=Token(80), interests=READABLE | WRITABLE
2022-10-20T02:22:40.015108 [TRACE] - registering event source with poller: token=Token(81), interests=READABLE | WRITABLE
2022-10-20T02:22:40.015149 [TRACE] - registering event source with poller: token=Token(82), interests=READABLE | WRITABLE
2022-10-20T02:22:40.015191 [TRACE] - registering event source with poller: token=Token(83), interests=READABLE | WRITABLE
2022-10-20T02:22:40.015233 [TRACE] - registering event source with poller: token=Token(84), interests=READABLE | WRITABLE
2022-10-20T02:22:40.015274 [TRACE] - registering event source with poller: token=Token(85), interests=READABLE | WRITABLE
2022-10-20T02:22:40.015317 [TRACE] - registering event source with poller: token=Token(86), interests=READABLE | WRITABLE
2022-10-20T02:22:40.016517 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.019156 [INFO] - GET https://kubernetes.default/apis/source.toolkit.fluxcd.io/v1beta1?timeout=32s 200 OK
2022-10-20T02:22:40.021892 [INFO] - GET https://kubernetes.default/apis/image.toolkit.fluxcd.io/v1beta1?timeout=32s 200 OK
2022-10-20T02:22:40.022073 [INFO] - GET https://kubernetes.default/apis/node.k8s.io/v1beta1?timeout=32s 200 OK
2022-10-20T02:22:40.022158 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.024756 [INFO] - GET https://kubernetes.default/apis/autoscaling/v1?timeout=32s 200 OK
2022-10-20T02:22:40.024892 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.027852 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.028785 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.032641 [INFO] - GET https://kubernetes.default/apis/discovery.k8s.io/v1beta1?timeout=32s 200 OK
2022-10-20T02:22:40.032719 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.110407 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.113248 [INFO] - GET https://kubernetes.default/apis/apps/v1?timeout=32s 200 OK
2022-10-20T02:22:40.115571 [INFO] - GET https://kubernetes.default/apis/batch/v1?timeout=32s 200 OK
2022-10-20T02:22:40.115676 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.116315 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.117171 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.118771 [INFO] - GET https://kubernetes.default/apis/kustomize.toolkit.fluxcd.io/v1beta1?timeout=32s 200 OK
2022-10-20T02:22:40.118880 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.120530 [INFO] - GET https://kubernetes.default/apis/flowcontrol.apiserver.k8s.io/v1beta1?timeout=32s 200 OK
2022-10-20T02:22:40.120626 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.121607 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.125078 [INFO] - GET https://kubernetes.default/apis/config.concierge.pinniped.dev/v1alpha1?timeout=32s 200 OK
2022-10-20T02:22:40.125212 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.126904 [INFO] - GET https://kubernetes.default/apis/discovery.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:40.127009 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.128477 [INFO] - GET https://kubernetes.default/apis/image.toolkit.fluxcd.io/v1alpha1?timeout=32s 200 OK
2022-10-20T02:22:40.128658 [INFO] - GET https://kubernetes.default/apis/coordination.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:40.128736 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.129578 [INFO] - GET https://kubernetes.default/apis/notification.toolkit.fluxcd.io/v1beta1?timeout=32s 200 OK
2022-10-20T02:22:40.129732 [INFO] - GET https://kubernetes.default/apis/autoscaling/v2beta2?timeout=32s 200 OK
2022-10-20T02:22:40.129812 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.130651 [INFO] - GET https://kubernetes.default/apis/helm.toolkit.fluxcd.io/v2beta1?timeout=32s 200 OK
2022-10-20T02:22:40.130717 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.131487 [INFO] - GET https://kubernetes.default/apis/login.concierge.pinniped.dev/v1alpha1?timeout=32s 200 OK
2022-10-20T02:22:40.131560 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.132391 [INFO] - GET https://kubernetes.default/apis/events.k8s.io/v1beta1?timeout=32s 200 OK
2022-10-20T02:22:40.132476 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.133136 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.133555 [INFO] - GET https://kubernetes.default/apis/apiextensions.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:40.133642 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.134493 [INFO] - GET https://kubernetes.default/apis/flowcontrol.apiserver.k8s.io/v1beta2?timeout=32s 200 OK
2022-10-20T02:22:40.134563 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.211088 [INFO] - GET https://kubernetes.default/apis/kustomize.toolkit.fluxcd.io/v1beta2?timeout=32s 200 OK
2022-10-20T02:22:40.211219 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.212448 [INFO] - GET https://kubernetes.default/apis/authorization.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:40.212532 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.213441 [INFO] - GET https://kubernetes.default/apis/autoscaling/v2beta1?timeout=32s 200 OK
2022-10-20T02:22:40.213522 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.214477 [INFO] - GET https://kubernetes.default/apis/storage.k8s.io/v1beta1?timeout=32s 200 OK
2022-10-20T02:22:40.214570 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.215547 [INFO] - GET https://kubernetes.default/apis/kubeapps.com/v1alpha1?timeout=32s 200 OK
2022-10-20T02:22:40.215634 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.216534 [INFO] - GET https://kubernetes.default/apis/policy/v1?timeout=32s 200 OK
2022-10-20T02:22:40.216624 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.217609 [INFO] - GET https://kubernetes.default/apis/policy/v1beta1?timeout=32s 200 OK
2022-10-20T02:22:40.217708 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.218823 [INFO] - GET https://kubernetes.default/apis/identity.concierge.pinniped.dev/v1alpha1?timeout=32s 200 OK
2022-10-20T02:22:40.218909 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.219800 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.219963 [INFO] - GET https://kubernetes.default/apis/scheduling.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:40.220029 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.220923 [INFO] - GET https://kubernetes.default/apis/authentication.concierge.pinniped.dev/v1alpha1?timeout=32s 200 OK
2022-10-20T02:22:40.221066 [INFO] - GET https://kubernetes.default/apis/certificates.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:40.221144 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.221779 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.222160 [INFO] - GET https://kubernetes.default/apis/storage.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:40.222272 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.222379 [INFO] - GET https://kubernetes.default/apis/admissionregistration.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:40.222452 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.223313 [INFO] - GET https://kubernetes.default/apis/node.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:40.223396 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.224187 [INFO] - GET https://kubernetes.default/apis/image.toolkit.fluxcd.io/v1alpha2?timeout=32s 200 OK
2022-10-20T02:22:40.224313 [INFO] - GET https://kubernetes.default/apis/source.toolkit.fluxcd.io/v1beta2?timeout=32s 200 OK
2022-10-20T02:22:40.224443 [INFO] - GET https://kubernetes.default/apis/rbac.authorization.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:40.224559 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.225451 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.226311 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.227192 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.227325 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.228209 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.229009 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.229787 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.230548 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.231378 [INFO] - GET https://kubernetes.default/apis/networking.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:40.231561 [INFO] - GET https://kubernetes.default/apis/apiregistration.k8s.io/v1?timeout=32s 200 OK
2022-10-20T02:22:40.231645 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.232596 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.232729 [INFO] - GET https://kubernetes.default/api/v1?timeout=32s 200 OK
2022-10-20T02:22:40.232888 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.232967 [INFO] - GET https://kubernetes.default/apis/events.k8s.io/v1?timeout=32s 200 OK

Last request completing at around 40.232, under 3 seconds after first request began?

So why does API response still take 5s?

2022-10-20T02:22:40.233035 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.233805 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.233844 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.233873 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.233902 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.233933 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.233965 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234001 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234032 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234064 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234096 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234129 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234161 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234190 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234220 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234255 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234286 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234315 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234343 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234372 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234401 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234438 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234475 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234514 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234552 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.234587 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.310359 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.310558 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.311595 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.312614 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.312658 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.312693 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.312727 [TRACE] - deregistering event source from poller
2022-10-20T02:22:40.317308 [INFO] - prep_and_call took 4ms, 4 of which was call_pinniped
2022-10-20T02:22:40.322523 [TRACE] - registering event source with poller: token=Token(16777228), interests=READABLE | WRITABLE
2022-10-20T02:22:40.327968 [INFO] - GET https://kubernetes.default/apis/helm.toolkit.fluxcd.io/v2beta1/namespaces/default/helmreleases 200 OK
2022-10-20T02:22:40.328106 [TRACE] - deregistering event source from poller

@netlify
Copy link

netlify bot commented Oct 20, 2022

Deploy Preview for kubeapps-dev ready!

Name Link
🔨 Latest commit 7aff4a7
🔍 Latest deploy log https://app.netlify.com/sites/kubeapps-dev/deploys/635627665149640008f5c320
😎 Deploy Preview https://deploy-preview-5518--kubeapps-dev.netlify.app/docs/latest/tutorials/using-an-oidc-provider
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

})
.filter(None, LevelFilter::Info)
.init();
env_logger::Builder::from_default_env().format(|buf, record| {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The key change here (in addition to not needing the extra pretty_env_logger), is that we're using from_default_env() so the RUST_LOG env var is actually used (rather than hard-coding the level above).

@absoludity
Copy link
Contributor Author

Marking this as ready for review, as the other fix is a different change.

@absoludity absoludity marked this pull request as ready for review October 24, 2022 05:48
Signed-off-by: Michael Nelson <minelson@vmware.com>
Copy link
Collaborator

@castelblanque castelblanque left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@absoludity absoludity merged commit 1bbeac4 into main Oct 24, 2022
@absoludity absoludity deleted the new-pinniped-feature branch October 24, 2022 23:33
absoludity added a commit that referenced this pull request Nov 18, 2022
Signed-off-by: Michael Nelson <minelson@vmware.com>

<!--
Before you open the request please review the following guidelines and
tips to help it be more easily integrated:

 - Describe the scope of your change - i.e. what the change does.
 - Describe any known limitations with your change.
- Please run any tests or examples that can exercise your modified code.

 Thank you for contributing!
 -->

Follows on from #5518, this time replacing the `cached` package with a
custom credential cache.

### Description of the change

After further digging, I found that one cause of the slow handling of 50
concurrent requests going through the pinniped-proxy was that:
- We were caching a function with an async/await signature which means
that even the cached version must have that signature as well - which
means a blocking i/o call (which switches the task), and
- The `Cached` trait specifies that even a `cache_get` operation mutates
the cache (in our case, just for statistics of hits/misses), which, as a
result, requires acquiring a *write* lock to the cache to read a cached
value.

For more details, please see the [discussion with the `Cached`
author](jaemk/cached#133).

To avoid both of those issues, this PR:
1. Adds a `cache` module that provides a generic read/write
`LockableCache` (for multiple readers, single writer) and builds on that
with a `PruningCache` that will prune entries (given a test function)
when they should no longer be cached,
2. Uses (1) to create a single `CredentialCache` on startup (in
`main.rs`) specifically for caching `TokenCredentialRequest` objects and
pruning expired entries, and then passes this through for use in
different threads concurrently.
3. Uses the cache to fetch the credentials.
<!-- Describe the scope of your change - i.e. what the change does. -->

### Benefits

Fetching from the cache is now non-blocking (generally, except when an
entry is being added) and so leads to less task switching, improving the
total query time by ~2s (down to 3-4).

There is still something else using significant CPU when creating the
client itself (cert-related), which I'm investigating now in a separate
PR.
<!-- What benefits will be realized by the code change? -->

### Possible drawbacks

<!-- Describe any known limitations with your change -->

### Applicable issues

<!-- Enter any applicable Issues here (You can reference an issue using
#) -->

- Ref #5407 

### Additional information

<!-- If there's anything else that's important and relevant to your pull
request, mention that information here.-->

Example log when using `RUST_LOG=info,pinniped_proxy::pinniped=debug`
which shows the cache being used after the first request. I've not
included it in the output generally, but the cache get is now always
under a millisecond. As above, the significant delays (some calls to
prepare_and_call_pinniped_exchange only 4ms, others 98ms) are what I'll
look at next.

```
2022-10-27T01:42:47.820245 [INFO] - Listening on http://0.0.0.0:3333
2022-10-27T01:43:05.077116 [DEBUG] - prepare_and_call_pinniped_exchange took 17ms. Used cache?: false
2022-10-27T01:43:05.085273 [INFO] - GET https://kubernetes.default/api?timeout=32s 200 OK
2022-10-27T01:43:05.091663 [DEBUG] - prepare_and_call_pinniped_exchange took 5ms. Used cache?: true
2022-10-27T01:43:05.100437 [INFO] - GET https://kubernetes.default/apis?timeout=32s 200 OK
2022-10-27T01:43:05.106005 [DEBUG] - prepare_and_call_pinniped_exchange took 4ms. Used cache?: true
2022-10-27T01:43:05.209952 [DEBUG] - prepare_and_call_pinniped_exchange took 21ms. Used cache?: true
2022-10-27T01:43:05.299424 [DEBUG] - prepare_and_call_pinniped_exchange took 5ms. Used cache?: true
2022-10-27T01:43:05.311599 [DEBUG] - prepare_and_call_pinniped_exchange took 5ms. Used cache?: true
2022-10-27T01:43:05.493269 [DEBUG] - prepare_and_call_pinniped_exchange took 98ms. Used cache?: true
2022-10-27T01:43:05.593683 [DEBUG] - prepare_and_call_pinniped_exchange took 4ms. Used cache?: true
2022-10-27T01:43:05.604348 [DEBUG] - prepare_and_call_pinniped_exchange took 4ms. Used cache?: true
2022-10-27T01:43:05.697828 [DEBUG] - prepare_and_call_pinniped_exchange took 87ms. Used cache?: true
2022-10-27T01:43:05.811590 [DEBUG] - prepare_and_call_pinniped_exchange took 20ms. Used cache?: true
2022-10-27T01:43:06.004358 [DEBUG] - prepare_and_call_pinniped_exchange took 94ms. Used cache?: true
2022-10-27T01:43:06.098603 [DEBUG] - prepare_and_call_pinniped_exchange took 5ms. Used cache?: true
2022-10-27T01:43:06.108756 [DEBUG] - prepare_and_call_pinniped_exchange took 4ms. Used cache?: true

```

Signed-off-by: Michael Nelson <minelson@vmware.com>
absoludity pushed a commit that referenced this pull request Feb 2, 2023
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [axios](https://github.com/axios/axios) from 1.3.0 to 1.3.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/releases">axios's
releases</a>.</em></p>
<blockquote>
<h2>Release v1.3.1</h2>
<h2>Release notes:</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>formdata:</strong> add hotfix to use the asynchronous API to
compute the content-length header value; (<a
href="https://github-redirect.dependabot.com/axios/axios/issues/5521">#5521</a>)
(<a
href="https://github.com/axios/axios/commit/96d336f527619f21da012fe1f117eeb53e5a2120">96d336f</a>)</li>
<li><strong>serializer:</strong> fixed serialization of array-like
objects; (<a
href="https://github-redirect.dependabot.com/axios/axios/issues/5518">#5518</a>)
(<a
href="https://github.com/axios/axios/commit/08104c028c0f9353897b1b6691d74c440fd0c32d">08104c0</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+27/-8
([#5521](axios/axios#5521)
[#5518](axios/axios#5518) )">Dmitriy
Mozgovoy</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/blob/v1.x/CHANGELOG.md">axios's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/axios/axios/compare/v1.3.0...v1.3.1">1.3.1</a>
(2023-02-01)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>formdata:</strong> add hotfix to use the asynchronous API to
compute the content-length header value; (<a
href="https://github-redirect.dependabot.com/axios/axios/issues/5521">#5521</a>)
(<a
href="https://github.com/axios/axios/commit/96d336f527619f21da012fe1f117eeb53e5a2120">96d336f</a>)</li>
<li><strong>serializer:</strong> fixed serialization of array-like
objects; (<a
href="https://github-redirect.dependabot.com/axios/axios/issues/5518">#5518</a>)
(<a
href="https://github.com/axios/axios/commit/08104c028c0f9353897b1b6691d74c440fd0c32d">08104c0</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+27/-8
([#5521](axios/axios#5521)
[#5518](axios/axios#5518) )">Dmitriy
Mozgovoy</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/axios/axios/commit/54d3facb3b032665e6ae84e157073702b5c2e4d9"><code>54d3fac</code></a>
chore(release): v1.3.1 (<a
href="https://github-redirect.dependabot.com/axios/axios/issues/5522">#5522</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/96d336f527619f21da012fe1f117eeb53e5a2120"><code>96d336f</code></a>
fix(formdata): add hotfix to use the asynchronous API to compute the
content-...</li>
<li><a
href="https://github.com/axios/axios/commit/08104c028c0f9353897b1b6691d74c440fd0c32d"><code>08104c0</code></a>
fix(serializer): fixed serialization of array-like objects; (<a
href="https://github-redirect.dependabot.com/axios/axios/issues/5518">#5518</a>)</li>
<li>See full diff in <a
href="https://github.com/axios/axios/compare/v1.3.0...v1.3.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axios&package-manager=npm_and_yarn&previous-version=1.3.0&new-version=1.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
absoludity pushed a commit that referenced this pull request Feb 2, 2023
Bumps [axios](https://github.com/axios/axios) from 1.3.0 to 1.3.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/releases">axios's
releases</a>.</em></p>
<blockquote>
<h2>Release v1.3.1</h2>
<h2>Release notes:</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>formdata:</strong> add hotfix to use the asynchronous API to
compute the content-length header value; (<a
href="https://github-redirect.dependabot.com/axios/axios/issues/5521">#5521</a>)
(<a
href="https://github.com/axios/axios/commit/96d336f527619f21da012fe1f117eeb53e5a2120">96d336f</a>)</li>
<li><strong>serializer:</strong> fixed serialization of array-like
objects; (<a
href="https://github-redirect.dependabot.com/axios/axios/issues/5518">#5518</a>)
(<a
href="https://github.com/axios/axios/commit/08104c028c0f9353897b1b6691d74c440fd0c32d">08104c0</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+27/-8
([#5521](axios/axios#5521)
[#5518](axios/axios#5518) )">Dmitriy
Mozgovoy</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/blob/v1.x/CHANGELOG.md">axios's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/axios/axios/compare/v1.3.0...v1.3.1">1.3.1</a>
(2023-02-01)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>formdata:</strong> add hotfix to use the asynchronous API to
compute the content-length header value; (<a
href="https://github-redirect.dependabot.com/axios/axios/issues/5521">#5521</a>)
(<a
href="https://github.com/axios/axios/commit/96d336f527619f21da012fe1f117eeb53e5a2120">96d336f</a>)</li>
<li><strong>serializer:</strong> fixed serialization of array-like
objects; (<a
href="https://github-redirect.dependabot.com/axios/axios/issues/5518">#5518</a>)
(<a
href="https://github.com/axios/axios/commit/08104c028c0f9353897b1b6691d74c440fd0c32d">08104c0</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+27/-8
([#5521](axios/axios#5521)
[#5518](axios/axios#5518) )">Dmitriy
Mozgovoy</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/axios/axios/commit/54d3facb3b032665e6ae84e157073702b5c2e4d9"><code>54d3fac</code></a>
chore(release): v1.3.1 (<a
href="https://github-redirect.dependabot.com/axios/axios/issues/5522">#5522</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/96d336f527619f21da012fe1f117eeb53e5a2120"><code>96d336f</code></a>
fix(formdata): add hotfix to use the asynchronous API to compute the
content-...</li>
<li><a
href="https://github.com/axios/axios/commit/08104c028c0f9353897b1b6691d74c440fd0c32d"><code>08104c0</code></a>
fix(serializer): fixed serialization of array-like objects; (<a
href="https://github-redirect.dependabot.com/axios/axios/issues/5518">#5518</a>)</li>
<li>See full diff in <a
href="https://github.com/axios/axios/compare/v1.3.0...v1.3.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axios&package-manager=npm_and_yarn&previous-version=1.3.0&new-version=1.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve response times in Kubeapps APIs when using Pinniped-proxy
3 participants