operator-framework / operator-controller

A new and improved management framework for extending Kubernetes with Operators
https://operator-framework.github.io/operator-controller/
Apache License 2.0
53 stars 53 forks source link

🐛 incremental improvement in catalogmetadata cache/client performance #965

Closed joelanford closed 3 months ago

joelanford commented 3 months ago

Description

This partially resolves #914 by doing two things:

  1. Exploding the all.json response into separate directories organized by package
  2. Updating the BundleProvider to require a package name to be provided in the request, which results in a much smaller set of FBC that needs to be re-parsed into catalogmetadata objects on each reconcile.

This is still not completely resolved though because step (1) still happens synchronously during the reconciliation of a ClusterExtension. In order to finish the improvement (and to complete #948), we need to implement a controller that watches and reconciles ClusterCatalog changes so that it can create (and delete) caches for operator-controller.

Reviewer Checklist

netlify[bot] commented 3 months ago

Deploy Preview for olmv1 ready!

Name Link
Latest commit 82303d7b3343483018adb0c38a049cc5952513d7
Latest deploy log https://app.netlify.com/sites/olmv1/deploys/6679c2f361c8f9000742ebe9
Deploy Preview https://deploy-preview-965--olmv1.netlify.app
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 configuration.

codecov[bot] commented 3 months ago

Codecov Report

Attention: Patch coverage is 72.97297% with 20 lines in your changes missing coverage. Please review.

Project coverage is 79.86%. Comparing base (6c61a78) to head (82303d7). Report is 1 commits behind head on main.

Files Patch % Lines
internal/catalogmetadata/cache/cache.go 41.37% 11 Missing and 6 partials :warning:
internal/catalogmetadata/client/client.go 91.66% 3 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #965 +/- ## ========================================== + Coverage 79.76% 79.86% +0.09% ========================================== Files 16 17 +1 Lines 1107 1157 +50 ========================================== + Hits 883 924 +41 - Misses 155 161 +6 - Partials 69 72 +3 ``` | [Flag](https://app.codecov.io/gh/operator-framework/operator-controller/pull/965/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=operator-framework) | Coverage Δ | | |---|---|---| | [e2e](https://app.codecov.io/gh/operator-framework/operator-controller/pull/965/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=operator-framework) | `58.00% <54.41%> (+0.64%)` | :arrow_up: | | [unit](https://app.codecov.io/gh/operator-framework/operator-controller/pull/965/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=operator-framework) | `55.05% <72.97%> (+1.21%)` | :arrow_up: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=operator-framework#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.