Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lost connection to MySQL server during query #327

Closed
dlasvazi opened this issue Apr 10, 2020 · 13 comments
Closed

Lost connection to MySQL server during query #327

dlasvazi opened this issue Apr 10, 2020 · 13 comments

Comments

@dlasvazi
Copy link

Всегда при попытке поиска более 1 терма вылетает с ошибкой:

------- FATAL: CRASH DUMP -------
[Fri Apr 10 18:35:30.948 2020] [ 2421]

--- crashed SphinxQL request dump ---
select * from fias where match('Кошурникова край') limit 1
--- request dump end ---
--- local index:fias1
Manticore 3.4.0 0686d9f@200326 release
Handling signal 11
-------------- backtrace begins here ---------------
Program compiled with 4.9.2
Configured with flags: Configured by CMake with these definitions: -DCMAKE_BUILD_TYPE=RelWithDebInfo -DDISTR_BUILD=jessie -DUSE_SSL
Host OS is Linux runner-0277ea0f-project-3858465-concurrent-0 4.19.78-coreos #1 SMP Mon Oct 14 22:56:39 -00 2019 x86_64 GNU/Linux
Stack bottom = 0x7fb96cd2ee9f, thread stack size = 0x100000
Trying manual backtrace:
Something wrong with thread stack, manual backtrace may be incorrect (fp=0x5)
Wrong stack limit or frame pointer, manual backtrace failed (fp=0x5, stack=0x7fb96cd30000, stacksize=0x100000)
Trying system backtrace:
begin of system symbols:
/usr/bin/searchd(_Z12sphBacktraceib+0x8b)[0x7132db]
/usr/bin/searchd(_ZN16SphCrashLogger_c11HandleCrashEi+0x206)[0x57a316]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7fbcd39e0890]
/lib/x86_64-linux-gnu/libc.so.6(+0x94354)[0x7fbcd2062354]
/lib/x86_64-linux-gnu/libc.so.6(__libc_malloc+0x27d)[0x7fbcd20652ed]
[Fri Apr 10 18:35:31.170 2020] [1415] watchdog: main process 2421 killed dirtily with signal 11, core dumped, will be restarted
[Fri Apr 10 18:35:31.170 2020] [1415] watchdog: got error 10, No child processes
[Fri Apr 10 18:35:31.171 2020] [1415] watchdog: main process 2433 forked ok
[Fri Apr 10 18:35:31.171 2020] [2433] listening on all interfaces, port=9312
[Fri Apr 10 18:35:31.171 2020] [2433] listening on all interfaces, port=9306
[Fri Apr 10 18:35:31.171 2020] [2433] WARNING: thread_pool disabled, can not listen for http interface, port=9308, use workers=thre
[Fri Apr 10 18:35:31.171 2020] [2433] WARNING: index 'baseIndex': prealloc: failed to open /home/manticoredata/data/base.sph: No su
[Fri Apr 10 18:35:31.171 2020] [2433] WARNING: index 'baseIndex': prealloc: failed to open /home/manticoredata/data/base.sph: No su
[Fri Apr 10 18:35:31.195 2020] [2433] accepting connections
[Fri Apr 10 18:35:31.195 2020] [2435] prereading 9 indexes

@tomatolog
Copy link
Contributor

Для того чтобы воспроизвести креш локально, нужен ваш индекс fias и конфиг.

Вы можете залить их на наш write-only FTP

ftp: dev.manticoresearch.com
user: manticorebugs
pass: shithappens

Вам нужно только создать папку там github-issue-327 и загрузить данные туда в виде архива.

@tomatolog
Copy link
Contributor

tomatolog commented Apr 10, 2020

так же перед отправкой индекса проверьте его indextool -c your.conf --check fias
чтобы убедится что в индексе нет ошибок которые могут привести к данному крешу

@dlasvazi
Copy link
Author

Вылетает с ошибкой:
indextool -c manticore.conf --check fias
Manticore 3.4.0 0686d9f@200326 release
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2020, Manticore Software LTD (http://manticoresearch.com)

using config file 'manticore.conf'...
FATAL: 'data_dir' cannot be mixed with index declarations in 'manticore.conf'

Индекс ФИАС достаточно большой, он состояит из 9 локальных индексов по 10М, всё это занимает около 20 Гигов

@tomatolog
Copy link
Contributor

да ошибся, нужен индекс fias1 и его нужно проверить indextool

--- local index:fias1

чтобы убрать ошибку

FATAL: 'data_dir' cannot be mixed with index declarations in 'manticore.conf'

нужно удалить \ закоментировать строчку с опцией data_dir в searchd секции

@dlasvazi
Copy link
Author

root@srv-search-01:/etc/manticoresearch# indextool -c manticore.conf --check fias0
Manticore 3.4.0 0686d9f@200326 release
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2020, Manticore Software LTD (http://manticoresearch.com)

using config file 'manticore.conf'...
checking index 'fias0'...
checking schema...
checking dictionary...
checking data...
checking rows...
checking attribute blocks index...
checking kill-list...
checking dead row map...
checking doc-id lookup...
check passed, 79.7 sec elapsed
root@srv-search-01:/etc/manticoresearch# indextool -c manticore.conf --check fias1
Manticore 3.4.0 0686d9f@200326 release
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2020, Manticore Software LTD (http://manticoresearch.com)

using config file 'manticore.conf'...
checking index 'fias1'...
checking schema...
checking dictionary...
checking data...
checking rows...
checking attribute blocks index...
checking kill-list...
checking dead row map...
checking doc-id lookup...
check passed, 76.7 sec elapsed
root@srv-search-01:/etc/manticoresearch#

@tomatolog
Copy link
Contributor

если проверка прошлась и запрос к индексу fias1 так же вызывает креш - то загрузите индекс на наш FTP чтобы мы могли расследовать креш локально.

@dlasvazi
Copy link
Author

Залил индекс и настройки в папку github-issue-327 на сервер dev.manticoresearch.com

@tomatolog
Copy link
Contributor

попробовал запрос который вызывает креш на данных которые вы предоставили и все работает как и должно

stas@dev:~/bin/github-issue-327$ mysql -h0 -P 7306 -vv < q.sql
--------------
select * from fias1 where match('Кошурникова край') limit 1
--------------

id      fiasguid        aolevel addrfull
11012732        612588A8-0B94-45AD-B933-382688F611B9    9       Красноярский Край Курагинский р-н пгт Кошурниково ул Кошурникова д 4 кв 2
1 row in set

какая ОС у вас? какой пакет вы использовали?

@tomatolog
Copy link
Contributor

может это связано с отсутсвием файла wordforms в индексе который вы залили или креш зависит от пакета \ платформы - но мне нужен воспроизводимый кейс который я мог бы повторить локально для дальнейшего расследования.

@dlasvazi
Copy link
Author

dlasvazi commented Apr 10, 2020

может это связано с отсутсвием файла wordforms в индексе который вы залили

wordforms.txt на сервере установлен, он очень простой, создан в целях тестирования
д => дом
кв => квартира
ул => улица
питер => санкт-петербург
новосиб => новосибирск

Информация по версии:
root@srv-search-01:/etc/manticoresearch# indexer
Manticore 3.4.0 0686d9f@200326 release
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2020, Manticore Software LTD (http://manticoresearch.com)

Built by gcc/clang v 4.9.2,

Built on Linux runner-0277ea0f-project-3858465-concurrent-0 4.19.78-coreos #1 SMP Mon Oct 14 22:56:39 -00 2019 x86_64 GNU/Linux

Configured by CMake with these definitions: -DCMAKE_BUILD_TYPE=RelWithDebInfo -DDISTR_BUILD=jessie -DUSE_SSL=ON -DDL_UNIXODBC=1 -DUNIXODBC_LIB=libodbc.so.2 -DDL_EXPAT=1 -DEXPAT_LIB=libexpat.so.1 -DUSE_LIBICONV=1 -DDL_MYSQL=1 -DMYSQL_LIB=libmysqlclient.so.18 -DDL_PGSQL=1 -DPGSQL_LIB=libpq.so.5 -DLOCALDATADIR=/var/data -DFULL_SHARE_DIR=/usr/share/manticore -DUSE_ICU=1 -DUSE_BISON=ON -DUSE_FLEX=ON -DUSE_SYSLOG=1 -DWITH_EXPAT=1 -DWITH_ICONV=ON -DWITH_MYSQL=1 -DWITH_ODBC=ON -DWITH_PGSQL=1 -DWITH_RE2=1 -DWITH_STEMMER=1 -DWITH_ZLIB=ON -DGALERA_SOVERSION=31 -DSYSCONFDIR=/etc/manticoresearch

Usage: indexer [OPTIONS] [indexname1 [indexname2 [...]]]

Версия linux:
root@srv-search-01:/etc/manticoresearch# cat /etc/issue
Ubuntu 18.04.4 LTS \n \l

root@srv-search-01:/etc/manticoresearch# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
root@srv-search-01:/etc/manticoresearch#

root@srv-search-01:/etc/manticoresearch# uname -r
4.15.0-96-generic
root@srv-search-01:/etc/manticoresearch# uname -m
x86_64

Ещё странный момент, на сервере данном очень долго отрабатывает, притом что на локальной машине (под виндой) работает очень быстро ~0.01 сек.

Попытка select:
mysql -h0 -P9306
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 3.4.0 0686d9f@200326 release

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> select * from fias1 where match('кошурникова край') limit 1;
ERROR 2013 (HY000): Lost connection to MySQL server during query

Что можете порекомендовать в данной ситуации?

@dlasvazi
Copy link
Author

Обновился до версии Manticore 3.4.2 6903305@200410 release
Проблема с вылетом при таком запросе исчезла.

Где можно найти справку как оптимизировать скорость работы под убунтой?
на windows по прежнему работает быстрей.

@manticoresearch
Copy link
Contributor

Где можно найти справку как оптимизировать скорость работы под убунтой?
на windows по прежнему работает быстрей.

Такой справки нет, нужно смотреть конкретно на ситуацию. Ну если навскидку, то если памяти достаточно, то попробуйте:

access_plain_attrs=mlock
access_blob_attrs=mlock
access_doclists=mlock
access_hitlists=mlock

запускать searchd с --force-preread.

Пишите на [email protected], если требуется более конкретная помощь. Проанализируем вашу ситуацию и скажем что можно сделать.

@dlasvazi
Copy link
Author

Спасибо за помощь!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants