[recordevents] Removed EventBroadcaster usage and replaced with manual send#4393
Conversation
Codecov Report
@@ Coverage Diff @@
## master #4393 +/- ##
=======================================
Coverage 81.06% 81.06%
=======================================
Files 281 281
Lines 7964 7964
=======================================
Hits 6456 6456
Misses 1122 1122
Partials 386 386 Continue to review full report at Codecov.
|
Looking at it, but that's weird. Reporting controller is an optional value |
b56ab43 to
9ace61e
Compare
d898e92 to
b07140a
Compare
b07140a to
8abfee5
Compare
|
/lgtm |
|
Funky, hit the time limit even if all asserts passed?! /retest |
But this didn't come out before this pr! |
5bf1e4d to
7d96f2e
Compare
|
/lgtm |
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
1f8c878 to
a377374
Compare
|
@lionelvillard there aren't any quotas, it's a bug/weird behaviour of k8s: kubernetes/kubernetes#95913 |
|
/lgtm |
|
@slinkydeveloper how the validation bug/underspecification related to the API server rate limit? |
|
which API server rate limit? I'm lost 😄 |
|
https://kubernetes.io/docs/concepts/cluster-administration/flow-control/ It might not be an issue, but this is something to be aware of. |
|
Ah well, we use this method to propagate events already since a bunch of weeks and we still didn't hit that issue. This PR is about fixing some disambiguation issue the EventBroadcaster generates |
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
|
/retest |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: slinkydeveloper, vaikas The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
…l send (knative#4393) * Removed EventBroadcaster usage and replaced with manual creation and send of events Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Boilerplate Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove redundant format Removed sequence annotation Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Added required value Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * ?!?! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Removed useless double log line Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove useless headers Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Missing host header Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works on my machine, i'm warning you prow! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works for long events too Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Suggestions Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Fixed the dropped counter thing Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> (cherry picked from commit 7de59ec) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
…l send (knative#4393) * Removed EventBroadcaster usage and replaced with manual creation and send of events Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Boilerplate Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove redundant format Removed sequence annotation Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Added required value Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * ?!?! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Removed useless double log line Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove useless headers Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Missing host header Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works on my machine, i'm warning you prow! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works for long events too Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Suggestions Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Fixed the dropped counter thing Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> (cherry picked from commit 7de59ec) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
…l send (knative#4393) * Removed EventBroadcaster usage and replaced with manual creation and send of events Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Boilerplate Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove redundant format Removed sequence annotation Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Added required value Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * ?!?! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Removed useless double log line Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove useless headers Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Missing host header Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works on my machine, i'm warning you prow! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works for long events too Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Suggestions Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Fixed the dropped counter thing Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> (cherry picked from commit 7de59ec) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
…l send (knative#4393) * Removed EventBroadcaster usage and replaced with manual creation and send of events Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Boilerplate Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove redundant format Removed sequence annotation Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Added required value Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * ?!?! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Removed useless double log line Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove useless headers Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Missing host header Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works on my machine, i'm warning you prow! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works for long events too Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Suggestions Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Fixed the dropped counter thing Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> (cherry picked from commit 7de59ec) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
* Nit (#4385) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> (cherry picked from commit 3ceaad4) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * emit a k8s event when dropping events (#4389) * emit a k8s event when dropping events Signed-off-by: Ville Aikas <vaikas@vmware.com> * go imports Signed-off-by: Ville Aikas <vaikas@vmware.com> * tags Signed-off-by: Ville Aikas <vaikas@vmware.com> * fix silliness Signed-off-by: Ville Aikas <vaikas@vmware.com> * simplify Signed-off-by: Ville Aikas <vaikas@vmware.com> (cherry picked from commit 0a54fd9) * [recordevents] Removed EventBroadcaster usage and replaced with manual send (#4393) * Removed EventBroadcaster usage and replaced with manual creation and send of events Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Boilerplate Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove redundant format Removed sequence annotation Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Added required value Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * ?!?! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Removed useless double log line Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove useless headers Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Missing host header Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works on my machine, i'm warning you prow! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works for long events too Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Suggestions Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Fixed the dropped counter thing Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> (cherry picked from commit 7de59ec) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Wrong merge fix Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> Co-authored-by: Ville Aikas <11279988+vaikas@users.noreply.github.com>
* Nit (#4385) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> (cherry picked from commit 3ceaad4) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * emit a k8s event when dropping events (#4389) * emit a k8s event when dropping events Signed-off-by: Ville Aikas <vaikas@vmware.com> * go imports Signed-off-by: Ville Aikas <vaikas@vmware.com> * tags Signed-off-by: Ville Aikas <vaikas@vmware.com> * fix silliness Signed-off-by: Ville Aikas <vaikas@vmware.com> * simplify Signed-off-by: Ville Aikas <vaikas@vmware.com> (cherry picked from commit 0a54fd9) * [recordevents] Removed EventBroadcaster usage and replaced with manual send (#4393) * Removed EventBroadcaster usage and replaced with manual creation and send of events Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Boilerplate Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove redundant format Removed sequence annotation Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Added required value Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * ?!?! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Removed useless double log line Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove useless headers Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Missing host header Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works on my machine, i'm warning you prow! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works for long events too Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Suggestions Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Fixed the dropped counter thing Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> (cherry picked from commit 7de59ec) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> Co-authored-by: Ville Aikas <11279988+vaikas@users.noreply.github.com>
* Nit (knative#4385) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> (cherry picked from commit 3ceaad4) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * emit a k8s event when dropping events (knative#4389) * emit a k8s event when dropping events Signed-off-by: Ville Aikas <vaikas@vmware.com> * go imports Signed-off-by: Ville Aikas <vaikas@vmware.com> * tags Signed-off-by: Ville Aikas <vaikas@vmware.com> * fix silliness Signed-off-by: Ville Aikas <vaikas@vmware.com> * simplify Signed-off-by: Ville Aikas <vaikas@vmware.com> (cherry picked from commit 0a54fd9) * [recordevents] Removed EventBroadcaster usage and replaced with manual send (knative#4393) * Removed EventBroadcaster usage and replaced with manual creation and send of events Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Boilerplate Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove redundant format Removed sequence annotation Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Added required value Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * ?!?! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Maybe this one fix the issue? Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Removed useless double log line Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Remove useless headers Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Missing host header Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works on my machine, i'm warning you prow! Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Now it works for long events too Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Suggestions Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Fixed the dropped counter thing Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Nit Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> (cherry picked from commit 7de59ec) Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> * Wrong merge fix Signed-off-by: Francesco Guardiani <francescoguard@gmail.com> Co-authored-by: Ville Aikas <11279988+vaikas@users.noreply.github.com>
Signed-off-by: Francesco Guardiani francescoguard@gmail.com
Proposed Changes
EventBroadcasterusage because it manually creates the event and, in some particular conditions of high load, it generates 2 events with the same namece-headers anymore inEventInfo.HTTPHeaders(they're just polluting event info)More info
So we noticed this issue both in openshift CI and mink CI. The problem is that, when the system is under high load, the time syscall might return the same value if 2 calls are made "at the same time". Because
EventBroadcasteruses the time to name the events, two events might have the same name, and obviously the kube api-server rejects one of them. With this change, we use the pod name + sequence number, which are guaranteed to be unique in the same pod.