diff options
| author | Dhruv <dhruv.goel92@gmail.com> | 2012-08-10 12:33:25 +0530 |
|---|---|---|
| committer | Dhruv <dhruv.goel92@gmail.com> | 2012-08-11 01:06:07 +0530 |
| commit | 17b871914476d74f5e61d41d842ab1f6dd50db82 (patch) | |
| tree | 1c64ca544a554b74a2268a7fcdcb848e81468ba6 | |
| parent | 9ad1e41b4b3590e0ae92d404dbe6cb396102ec6a (diff) | |
| download | forums-17b871914476d74f5e61d41d842ab1f6dd50db82.tar forums-17b871914476d74f5e61d41d842ab1f6dd50db82.tar.gz forums-17b871914476d74f5e61d41d842ab1f6dd50db82.tar.bz2 forums-17b871914476d74f5e61d41d842ab1f6dd50db82.tar.xz forums-17b871914476d74f5e61d41d842ab1f6dd50db82.zip | |
[ticket/11032] sphinx retries before triggering error
Sphinx connection retries should be done before error is triggered.
PHPBB3-11032
| -rw-r--r-- | phpBB/includes/search/fulltext_sphinx.php | 18 |
1 files 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'])) { |
