-
Notifications
You must be signed in to change notification settings - Fork 35
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
Alleviate excessive periodic logging during conflict check #1400
Conversation
🤖 Created branch: z_pr1400/tpantelis/excess_logging |
If a service is imported without a local service export, the conflict checking tries to update the status of a non-existent ServiceExport, specifically to remove the Conflict status condition. This results in a log message: "ServiceExport (...) not found - unable to update status" Due to the 2 minute resync intervaL for the EndpointSlice syncer, this can exhaust the pod disk storage over time. To alleviate this issue, check the local cache for a ServiceExport and, if non-existent, skip the conflict checking. If it does exist but the Conflict status condition doesn't exist in the local ServiceExport then elide trying to remove the status condition. Finally, change the log level to TRACE for the offending message. Signed-off-by: Tom Pantelis <[email protected]>
Use the local cache to list the EndpointSlices instead of the API server client. Signed-off-by: Tom Pantelis <[email protected]>
05d9965
to
0f474aa
Compare
🤖 Closed branches: [z_pr1400/tpantelis/excess_logging] |
Do we want to backport this PR? |
I think so, I’ve taken care of it — if there are objections feel free to raise them on the backport PR. |
If a service is imported without a local service export, the conflict checking tries to update the status of a non-existent
ServiceExport
, specifically to remove the Conflict status condition. This results in a log message: ServiceExport (...) not found - unable to update statusDue to the 2 minute resync intervaL for the
EndpointSlice
syncer, this can exhaust the pod disk storage over time.(first commit) To alleviate this issue, check the local cache for a ServiceExport and, if non-existent, skip the conflict checking. If it does exist but the Conflict status condition doesn't exist in the local ServiceExport then elide trying to remove the status condition. Also, change the log level to TRACE for the offending message.
(second commit) Optimize conflict checking using the local cache to list the
EndpointSlices
instead of the API server client.