forum.bitel.ru
http://forum.bitel.ru/

Ошибка соединения с Master базой данных
http://forum.bitel.ru/viewtopic.php?f=22&t=12516
Страница 1 из 1

Автор:  a.vo [ 26 июн 2017, 17:58 ]
Заголовок сообщения:  Ошибка соединения с Master базой данных

Добрый день!
С некоторых пор наблюдается странное поведение BGBilling.
Примерно раз в месяц в server.error.log появляются сообщения
FlowListenerWorker - Lock wait timeout for ContractRuntime

При этом в почту начинаются сыпаться уведомления
[BGIPNNetflowCollector] Ошибка соединения с Master базой данных,  [BGScheduler] Ошибка соединения с Master базой данных

Оказывается недоступен вход в ЛК для абонентов.
При проверке mysqld никакой повышенной нагрузки на БД не наблюдается.
Лечится все только перезапуском сервисов /etc/init.d/bginetaccounting_server, причем сервис приходится убивать через kill -9 PID, поскольку команда /etc/init.d/bginetaccounting_server stop не выполняется, висит просто без всякого результата.

Подскажите,пожалуйста в чем может быть дело.
Спасибо!
Код:
Информация о версии:

  Клиент: вер. 7.0.891 / 29.05.2017 13:00:15
    os: Windows 10; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_131
  Сервер: вер. 7.0.1236 / 29.05.2017 13:02:07
    os: Linux; java: Java HotSpot(TM) Client VM, v.1.8.0_121

  bill: вер. 7.0.120 / 03.05.2017 16:51:03
  card: вер. 7.0.43 / 21.03.2017 15:12:24
  dba: вер. 7.0.167 / 08.04.2016 17:40:39
  inet: вер. 7.0.751 / 29.05.2017 13:02:37
  ipn: вер. 7.0.267 / 13.03.2017 11:35:50
  npay: вер. 7.0.206 / 15.03.2017 18:44:23
  phone: вер. 7.0.291 / 13.03.2017 11:36:18
  reports: вер. 7.0.231 / 15.03.2017 18:48:01
  rscm: вер. 7.0.185 / 19.04.2017 15:13:51
  ru.bitel.bgbilling.plugins.crm: вер. 7.0.198 / 07.11.2016 18:45:32
  ru.bitel.bgbilling.plugins.documents: вер. 7.0.176 / 21.11.2016 19:01:57
  ru.bitel.bgbilling.plugins.helpdesk: вер. 7.0.196 / 15.02.2017 18:12:55
  ru.bitel.bgbilling.plugins.organizer: вер. 7.0.75 / 05.10.2016 13:43:02
  voiceip: вер. 7.0.195 / 22.05.2017 15:57:12
  yamoney: вер. 7.0.71 / 29.05.2017 13:03:28

Окружение:

  Клиент:
    os: Windows 10 amd64, 10.0
    java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_131
    jre home: C:\Program Files\Java\jre1.8.0_131_x64
    memory (use/total/max): 72M/95M/455M
    default tz: 26.06.2017 14:58 MSK +0300 (Europe/Moscow)
    user tz: 26.06.2017 14:58 MSK +0300 (Europe/Moscow)
    locale: ru_RU
  Сервер:
    os: Linux i386, 2.6.32-71.el6.i686
    java: Java HotSpot(TM) Client VM, v.1.8.0_121
    jre home: /opt/java/jdk1.8.0_121/jre
    default tz: 26.06.2017 14:58 MSK +0300 (Europe/Moscow)
    memory (use/total/max): 89M/98M/494M
    db time: master: 26.06.2017 14:58 MSK
    db charset: connection: utf8(utf8_general_ci), database: cp1251(cp1251_general_ci)
    locale: en_US
    uptime: Started: 26.06.2017 08:26:45 Uptime: 0 d 06:31:26

Автор:  dimOn [ 27 июн 2017, 14:25 ]
Заголовок сообщения:  Re: Ошибка соединения с Master базой данных

логи целиком надо смотреть

ещё: 494M - это не мало для сервера?

это тоже надо поправить:
db charset: connection: utf8(utf8_general_ci), database: cp1251(cp1251_general_ci)

Автор:  a.vo [ 27 июн 2017, 14:45 ]
Заголовок сообщения:  Re: Ошибка соединения с Master базой данных

Спасибо за ответ!

Скажите, эти параметры относятся непосредственно к ОС или к базе?
dimOn писал(а):
ещё: 494M - это не мало для сервера?

Нужно конвертировать базу в UTF8?
dimOn писал(а):
это тоже надо поправить:
db charset: connection: utf8(utf8_general_ci), database: cp1251(cp1251_general_ci)

Автор:  a.vo [ 27 июн 2017, 14:47 ]
Заголовок сообщения:  Re: Ошибка соединения с Master базой данных

Или память это сколько выделено под JVM?

Автор:  dimOn [ 27 июн 2017, 15:19 ]
Заголовок сообщения:  Re: Ошибка соединения с Master базой данных

494M - это сколько у вас выделено для JVM , на которой запущен сервер биллинга. Это скорее всего мало, может быть просто залипает по OutOfMemory (потому и сказал в логах надо порыться внимательнее) и начинает всё падать, симптомы похожие вполне. Про БД тут про память ничего нет, там надо тоже по логам порыться, или в момент этих проблем зайти на БД и посмотреть состояние - может она тоже висит.

Автор:  dimOn [ 27 июн 2017, 15:19 ]
Заголовок сообщения:  Re: Ошибка соединения с Master базой данных

Цитата:
Нужно конвертировать базу в UTF8?

не обязательно, можете оставить в 1251, но в data.properties надо написать в коннекшене вместо utf8 нужную кодировку
https://docs.bitel.ru/pages/viewpage.ac ... d=43384846

по умолчанию там так стоит:
characterEncoding=UTF-8&connectionCollation=utf8_unicode_ci&
но у вас utf8_general_ci так что либо вы сами писали там
characterEncoding=UTF-8&connectionCollation=utf8_general_ci&
или скорее всего у вас там
characterEncoding=UTF-8

в общем оба два этих уберите и поставьте просто
characterEncoding=cp1251

Автор:  a.vo [ 27 июн 2017, 15:23 ]
Заголовок сообщения:  Re: Ошибка соединения с Master базой данных

dimOn писал(а):
494M - это сколько у вас выделено для JVM , на которой запущен сервер биллинга. Это скорее всего мало, может быть просто залипает по OutOfMemory (потому и сказал в логах надо порыться внимательнее) и начинает всё падать, симптомы похожие вполне. Про БД тут про память ничего нет, там надо тоже по логам порыться, или в момент этих проблем зайти на БД и посмотреть состояние - может она тоже висит.


а как увеличить максимальное количество памяти под JVM на сервере? Пробую вот так export JAVA_OPTS="-Xms256m -Xmx1024m", но пока изменений не вижу.
в момент залипания база не висит совсем, наоборот коннекшенов мало.

Спасибо

Автор:  dimOn [ 27 июн 2017, 15:37 ]
Заголовок сообщения:  Re: Ошибка соединения с Master базой данных

ну да, надо в лаунчере менять Xmx, потом перезагрузить сервер и в about смотрите - там изменились цифры то эти memory (use/total/max) в сервере?

Автор:  a.vo [ 29 июн 2017, 10:59 ]
Заголовок сообщения:  Re: Ошибка соединения с Master базой данных

dimOn писал(а):
ну да, надо в лаунчере менять Xmx, потом перезагрузить сервер и в about смотрите - там изменились цифры то эти memory (use/total/max) в сервере?

да, теперь так, посмотрим повторится ситуация или нет.
Спасибо
Код:
Сервер:
    os: Linux i386, 2.6.32-71.el6.i686
    java: Java HotSpot(TM) Client VM, v.1.8.0_121
    jre home: /opt/java/jdk1.8.0_121/jre
    default tz: 29.06.2017 07:59 MSK +0300 (Europe/Moscow)
    memory (use/total/max): 94M/123M/989M
    db time: master: 29.06.2017 07:59 MSK
    db charset: connection: cp1251(cp1251_general_ci), database: cp1251(cp1251_general_ci)
    locale: en_US
    uptime: Started: 27.06.2017 14:37:00 Uptime: 1 d 17:22:01

Автор:  Amir [ 29 июн 2017, 16:12 ]
Заголовок сообщения:  Re: Ошибка соединения с Master базой данных

В SHOW ENGINE INNODB STATUS есть "latest detected deadlock"? Какое время назад он произошел?

Когда последний раз было такое - делали SHOW PROCESSLIST? Не сохранился вывод?

Автор:  a.vo [ 29 июн 2017, 16:59 ]
Заголовок сообщения:  Re: Ошибка соединения с Master базой данных

Amir писал(а):
В SHOW ENGINE INNODB STATUS есть "latest detected deadlock"? Какое время назад он произошел?

Секция LATEST DETECTED DEADLOCK отсутствует в выводе команды.
Amir писал(а):
Когда последний раз было такое - делали SHOW PROCESSLIST? Не сохранился вывод?

К сож не сохранился, если такое вдруг еще произойдет соберу более детальную статистику.

Автор:  Amir [ 29 июн 2017, 17:15 ]
Заголовок сообщения:  Re: Ошибка соединения с Master базой данных

Если снова возникнет нужно будет сохранить перед перезагрузкой:

SHOW PROCESS LIST
SHOW ENGINE INNODB STATUS
top
iotop
(на машине с БД)

Посмотреть, нет ли ошибок в логах MySQL,
нет ли иных, кроме Lock wait timeout for ContractRuntime в логах InetAccess/Accounting.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/