From 9c70cea98f1996d912e51da6f6b6bb0c2be849f8 Mon Sep 17 00:00:00 2001 From: Boone Gorges Date: Sat, 15 Aug 2015 19:24:42 +0000 Subject: [PATCH] Don't suspend cache invalidation when running term splitting batch routine. `wp_suspend_cache_invalidation()` was originally added to increase performance, but the switch to batch processing in [33615] mitigates serious performance concerns. As a precaution against timeouts, the batch size has been reduced from 20 to 10. Props Chouby. See #30261. git-svn-id: https://develop.svn.wordpress.org/trunk@33619 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/taxonomy.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/wp-includes/taxonomy.php b/src/wp-includes/taxonomy.php index ba8156bc63..1db44dcd2d 100644 --- a/src/wp-includes/taxonomy.php +++ b/src/wp-includes/taxonomy.php @@ -4375,7 +4375,7 @@ function _wp_batch_split_terms() { LEFT JOIN {$wpdb->terms} t ON t.term_id = tt.term_id GROUP BY t.term_id HAVING term_tt_count > 1 - LIMIT 20" + LIMIT 10" ); // No more terms, we're done here. @@ -4401,7 +4401,6 @@ function _wp_batch_split_terms() { $shared_tts = $wpdb->get_results( "SELECT * FROM {$wpdb->term_taxonomy} WHERE `term_id` IN ({$shared_term_ids})" ); // Split term data recording is slow, so we do it just once, outside the loop. - $suspend = wp_suspend_cache_invalidation( true ); $split_term_data = get_option( '_split_terms', array() ); $skipped_first_term = $taxonomies = array(); foreach ( $shared_tts as $shared_tt ) { @@ -4432,7 +4431,6 @@ function _wp_batch_split_terms() { _get_term_hierarchy( $tax ); } - wp_suspend_cache_invalidation( $suspend ); update_option( '_split_terms', $split_term_data ); delete_option( $lock_name );