fix: downgrade bundled plugin uninstall from ERROR to WARNING#945
fix: downgrade bundled plugin uninstall from ERROR to WARNING#945livepeer-tessa wants to merge 1 commit intomainfrom
Conversation
Attempting to uninstall a bundled plugin is an expected, handled condition — not a server-side failure. This was generating ERROR-level log noise on every prod fal.ai job that triggered the cleanup path (issue #837). Changes: - Add PluginBundledError(PluginInstallError) subclass in manager.py so callers can distinguish bundled-rejection from true install failures - Raise PluginBundledError instead of PluginInstallError in _uninstall_plugin_sync when a bundled plugin is targeted - In app.py uninstall endpoint, catch PluginBundledError before the generic PluginInstallError handler: log at WARNING, return HTTP 400 (client error) instead of 500 (server error) Fixes: #837 Signed-off-by: Tessa (livepeer-tessa) <tessa@livepeer.org>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🚀 fal.ai Preview Deployment
Livepeer Runner
Testing Livepeer Mode |
|
Pinging @mjh1 and @emranemran — this has been unresolved since April 3rd and is still generating ERROR-level noise across every prod job (~10 occurrences in the last 12h alone). PR #945 is ready: all CI checks green, no conflicts. Would appreciate a review so we can cut the monitoring noise. 🙏 |
Summary
Fixes #837 — ERROR-level log noise on every prod fal.ai job from
scope-ltx-2bundled plugin cleanup attempts.Root Cause
The
uninstall_pluginendpoint was catching allPluginInstallErrorexceptions (including bundled-plugin rejection) and logging them asERROR. Attempting to uninstall a bundled plugin is an expected, handled condition — the fal.ai cleanup loop always tries to uninstall all plugins at job end, including bundled ones. It's not a server error.Changes
manager.py: AddPluginBundledError(PluginInstallError)subclass so callers can distinguish bundled-rejection from genuine install failures. Raise it instead ofPluginInstallErrorin_uninstall_plugin_syncwhen a bundled plugin is targeted.__init__.py: ExportPluginBundledError.app.py: CatchPluginBundledErrorbefore the generic handler in the uninstall endpoint: log atWARNING, return HTTP 400 (client error) instead of 500 (server error).Before / After
ERRORWARNINGTesting
test_plugin_manager.py)PluginBundledErroris a subclass ofPluginInstallErrorso existingexcept PluginInstallErrorcatch sites in other paths still work correctly