[wp-trac] [WordPress Trac] #60457: Plugin Dependencies: Running update_option within wp-settings can be catastrophic for a high traffic site

WordPress Trac noreply at wordpress.org
Thu Feb 15 14:26:18 UTC 2024


#60457: Plugin Dependencies: Running update_option within wp-settings can be
catastrophic for a high traffic site
--------------------------+--------------------------
 Reporter:  dd32          |       Owner:  costdev
     Type:  defect (bug)  |      Status:  assigned
 Priority:  normal        |   Milestone:  6.5
Component:  Plugins       |     Version:  trunk
 Severity:  normal        |  Resolution:
 Keywords:  dev-feedback  |     Focuses:  performance
--------------------------+--------------------------

Comment (by costdev):

 == Auto-deactivation
 Auto-deactivation was discussed during
 [https://wordpress.slack.com/archives/CULBN711P/p1707934611947619 the
 #core-upgrade-install meeting in Slack], and we have decided to remove
 this from the Plugin Dependencies feature.

 - `deactivate_plugins()` will cause a database write during bootstrap
 which is unacceptable.
 - Relocating auto-deactivation elsewhere would make it ineffective in
 achieving its goal of preventing Fatal Errors during all other requests.

 ------

 == Bootstrapping logic
 The bootstrapping logic to prevent loading plugins with unmet WP/PHP
 requirements must be removed as it conflicts with #60491, which is still
 being discussed and any actions on that ticket will not happen during the
 6.5 cycle.

 -----

 == The `plugin_data` option
 The `plugin_data` option will be removed as it was only added to avoid
 filesystem reads of all plugins during bootstrap and will no longer be
 needed by the Plugin Dependencies feature. The concept of storing plugin
 data persistently can be discussed as an implementation detail of any
 actions on #60491.

 -----

 These changes will resolve all the remaining items in
 [https://core.trac.wordpress.org/ticket/60457#comment:7 the list in my
 earlier comment]:
 - ''Supplementary proposal'' in 1 as the method will no longer exist.
 - ''Proposal'' in 2 as the `plugin_data` option will no longer exist.
 - ''Proposal'' and ''Alternative Proposal 2'' in 4 as the `plugin_data`
 option will no longer exist.

 I'll submit a PR to make the removals, relocate the initialization of
 Plugin Dependencies to the appropriate places, and update the class and
 tests as necessary.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/60457#comment:16>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list