From 72bc71a6a18e8003ad5d79d634121ede59c4103d Mon Sep 17 00:00:00 2001 From: Brett Tasker Date: Wed, 8 Jan 2020 12:46:13 +1300 Subject: [PATCH] FIX: #270 - Reset variant state back to original state after processing --- src/Solr/Reindex/Handlers/SolrReindexBase.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Solr/Reindex/Handlers/SolrReindexBase.php b/src/Solr/Reindex/Handlers/SolrReindexBase.php index ed36bcc..1f53829 100644 --- a/src/Solr/Reindex/Handlers/SolrReindexBase.php +++ b/src/Solr/Reindex/Handlers/SolrReindexBase.php @@ -99,6 +99,8 @@ abstract class SolrReindexBase implements SolrReindexHandler $batchSize, $taskName ) { + // Get current state + $originalState = SearchVariant::current_state(); // Set state SearchVariant::activate_state($state); @@ -122,6 +124,9 @@ abstract class SolrReindexBase implements SolrReindexHandler for ($group = 0; $group < $groups; $group++) { $this->processGroup($logger, $indexInstance, $state, $class, $groups, $group, $taskName); } + + // Reset state to originalState + SearchVariant::activate_state($originalState); } /** @@ -168,7 +173,11 @@ abstract class SolrReindexBase implements SolrReindexHandler ) { // Set time limit and state Environment::increaseTimeLimitTo(); + // Get current state + $originalState = SearchVariant::current_state(); + // Set state SearchVariant::activate_state($state); + $logger->info("Adding $class"); // Prior to adding these records to solr, delete existing solr records @@ -187,6 +196,9 @@ abstract class SolrReindexBase implements SolrReindexHandler } $logger->info("Updated " . implode(',', $processed)); + // Reset state to originalState + SearchVariant::activate_state($originalState); + // This will slow down things a tiny bit, but it is done so that we don't timeout to the database during a reindex DB::query('SELECT 1');