viewgit/inc/functions.php:22 Function utf8_encode() is deprecated [8192]

fix reopen many times feed index bug, a=chris

Chris Pollett [2019-12-28 15:Dec:th]
fix reopen many times feed index bug, a=chris
Filename
src/library/IndexDictionary.php
src/library/IndexManager.php
src/library/index_bundle_iterators/WordIterator.php
diff --git a/src/library/IndexDictionary.php b/src/library/IndexDictionary.php
index 103b51403..2b35585c7 100644
--- a/src/library/IndexDictionary.php
+++ b/src/library/IndexDictionary.php
@@ -1294,7 +1294,9 @@ class IndexDictionary implements CrawlConstants
         if (!isset($this->fhs[$file_num][$tier]) ||
             $this->fhs[$file_num][$tier] === null) {
             $file_name = $this->dir_name . "/$file_num/" . $tier . "A.dic";
-            if (!file_exists($file_name)) { return $false; }
+            if (!file_exists($file_name)) {
+                return $false;
+            }
             $this->fhs[$file_num][$tier] = fopen($file_name, "rb");
             if ($this->fhs[$file_num][$tier] === false) {
                 return $false;
diff --git a/src/library/IndexManager.php b/src/library/IndexManager.php
index 5330e26f2..fd6d3474d 100644
--- a/src/library/IndexManager.php
+++ b/src/library/IndexManager.php
@@ -70,17 +70,17 @@ class IndexManager implements CrawlConstants
     public static function getIndex($index_name)
     {
         $index_name = trim($index_name); //trim to fix postgres quirkiness
+        if ($index_name == "feed" || $index_name == self::FEED_CRAWL_TIME) {
+            $index_archive_name = self::feed_index_data_base_name;
+            $index_name = "feed";
+        } else {
+            $index_archive_name = self::index_data_base_name . $index_name;
+        }
         if (empty(self::$indexes[$index_name]) ||
             (!empty(self::$index_times[$index_name]) &&
-            ($index_name == "feed" || php_sapi_name() == 'cli') &&
+            ($index_name == 'feed' && php_sapi_name() == 'cli') &&
             (time() - self::$index_times[$index_name])
             > C\MIN_QUERY_CACHE_TIME) ) {
-            if ($index_name == "feed" || $index_name == self::FEED_CRAWL_TIME) {
-                $index_archive_name = self::feed_index_data_base_name;
-                $index_name = "feed";
-            } else {
-                $index_archive_name = self::index_data_base_name . $index_name;
-            }
             if (file_exists(C\CRAWL_DIR.'/cache/' . $index_archive_name)) {
                 $tmp = new IndexArchiveBundle(C\CRAWL_DIR . '/cache/' .
                     $index_archive_name);
diff --git a/src/library/index_bundle_iterators/WordIterator.php b/src/library/index_bundle_iterators/WordIterator.php
index b85c7ec80..c59e83a86 100644
--- a/src/library/index_bundle_iterators/WordIterator.php
+++ b/src/library/index_bundle_iterators/WordIterator.php
@@ -519,7 +519,6 @@ class WordIterator extends IndexBundleIterator
         }
         $index = IndexManager::getIndex($this->index_name);
         $index->setCurrentShard($this->current_generation, true);
-        $index->setCurrentShard($this->current_generation, true);
         $this->current_doc_offset = $index->getCurrentShard(
             )->docOffsetFromPostingOffset($this->current_offset);
         return [$this->current_generation, $this->current_doc_offset];
ViewGit