From 17b871914476d74f5e61d41d842ab1f6dd50db82 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Fri, 10 Aug 2012 12:33:25 +0530 Subject: [PATCH] [ticket/11032] sphinx retries before triggering error Sphinx connection retries should be done before error is triggered. PHPBB3-11032 --- phpBB/includes/search/fulltext_sphinx.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/phpBB/includes/search/fulltext_sphinx.php b/phpBB/includes/search/fulltext_sphinx.php index fa7bd01f39..0319f971dc 100644 --- a/phpBB/includes/search/fulltext_sphinx.php +++ b/phpBB/includes/search/fulltext_sphinx.php @@ -492,6 +492,15 @@ class phpbb_search_fulltext_sphinx $this->sphinx->SetLimits($start, (int) $per_page, SPHINX_MAX_MATCHES); $result = $this->sphinx->Query($search_query_prefix . str_replace('"', '"', $this->search_query), $this->indexes); + // Could be connection to localhost:9312 failed (errno=111, + // msg=Connection refused) during rotate, retry if so + $retries = SPHINX_CONNECT_RETRIES; + while (!$result && (strpos($this->sphinx->GetLastError(), "errno=111,") !== false) && $retries--) + { + usleep(SPHINX_CONNECT_WAIT_TIME); + $result = $this->sphinx->Query($search_query_prefix . str_replace('"', '"', $this->search_query), $this->indexes); + } + if ($this->sphinx->GetLastError()) { add_log('critical', 'LOG_SPHINX_ERROR', $this->sphinx->GetLastError()); @@ -505,15 +514,6 @@ class phpbb_search_fulltext_sphinx } } - // Could be connection to localhost:9312 failed (errno=111, - // msg=Connection refused) during rotate, retry if so - $retries = SPHINX_CONNECT_RETRIES; - while (!$result && (strpos($this->sphinx->GetLastError(), "errno=111,") !== false) && $retries--) - { - usleep(SPHINX_CONNECT_WAIT_TIME); - $result = $this->sphinx->Query($search_query_prefix . str_replace('"', '"', $this->search_query), $this->indexes); - } - $id_ary = array(); if (isset($result['matches'])) {