[wp-trac] [WordPress Trac] #14915: Fix activation hook inconsistency

WordPress Trac wp-trac at lists.automattic.com
Mon Sep 27 21:42:33 UTC 2010

#14915: Fix activation hook inconsistency
 Reporter:  nacin         |       Owner:             
     Type:  defect (bug)  |      Status:  new        
 Priority:  normal        |   Milestone:  3.1        
Component:  Plugins       |     Version:  2.9        
 Severity:  normal        |    Keywords:  needs-patch

Comment(by joelhardi):

 > You'd only be testing the plugins which were just upgraded.

 Right, I'm worried about the case where a user comes along to upgrade
 their long-dormant blog and they have 10 plugins or more to upgrade, that
 the upgrade process might become more fragile or take a long time and be
 prone to user interruption. Playing devil's advocate -- i.e., do we need
 to think about the UI when adding (silent) reactivation and error checking
 to the bulk upgrade process? Just a simple code branch (i.e. do not try to
 auto-reactivate if n > 10) at minimum might be a good idea, even if it's
 at n > 100 which is extremely unlikely to be encountered.

 > The 100ms/plugin (which is a guess) delay for checking them would be
 insanely faster than say, the user upgrading n+1 plugins.

 I don't disagree with the enhancement (add reactivation to bulk upgrade)
 or think users should have to single-upgrade.

 Just thinking through the reactivation process and suggesting possible
 pitfalls in the case where there's a en error with one of the plugins
 reactivated and the code has to step back and isolate the plugin causing
 the error. A binary search algorithm in this case would be much better
 than a linear search.

 100 ms is pretty optimistic, I just took a look at an 8-core 2.5Ghz Xeon
 box and just the init ({{{require_once('wp-admin.php');}}}) on the admin
 side is mean 195ms. So, for instance, suppose you are upgrading 10 plugins
 and there is one that causes a fatal error. If you use a binary search you
 will have to do 7-9 page loads to isolate the bad plugin. If each page
 load is half a second, that's ~4 seconds total.

 Is that reasonable? Well ... I'm not the boss, but 4 seconds seems
 reasonable to me.

Ticket URL: <http://core.trac.wordpress.org/ticket/14915#comment:19>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software

More information about the wp-trac mailing list