BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 мар 2024, 03:18

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
СообщениеДобавлено: 10 апр 2014, 18:26 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
Может кто наведет на правильное направление....
Периодически приходит на почту сообщения c темой:
[BGRadiusDialup] Ошибка соединения с Master базой данных
Код:
ID события: db.master.connect.error
Время регистрации события: 10.04.2014 16:00:10
Хост сервера: bill.xxxxxxxx.net/127.0.0.1

Необходимо срочно восстановить соединение с Master базой.

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
        at sun.reflect.GeneratedConstructorAccessor56.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
        at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
        at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:696)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1102)
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2336)
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2369)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153)
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792)
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
        at sun.reflect.GeneratedConstructorAccessor43.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75)
        at ru.bitel.bgbilling.server.util.DefaultServerSetup$2.makeObject(DefaultServerSetup.java:376)
        at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188)
        at ru.bitel.bgbilling.server.util.DatabaseConnectionPool$1.getConnection(DatabaseConnectionPool.java:30)
        at ru.bitel.bgbilling.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:572)
        at ru.bitel.common.sql.SetupConnectionSet.newMasterConnection(SetupConnectionSet.java:39)
        at ru.bitel.common.sql.ConnectionSet.getConnection(ConnectionSet.java:87)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.preprocessAccountingRequest(RadiusProcessor.java:322)
        at ru.bitel.bgbilling.modules.dialup.radius.DialUpRadiusProcessor.preprocessAccountingRequest(DialUpRadiusProcessor.java:476)
        at ru.bitel.bgbilling.modules.dialup.radius.DialUpRadiusProcessor.preprocessAccountingRequest(DialUpRadiusProcessor.java:1)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accountingRequest(RadiusProcessor.java:511)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.accountingRequest(RadiusListenerWorker.java:493)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processAccountingRequest(RadiusListenerWorker.java:283)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:254)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:147)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
Caused by: java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
        at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
        at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
        at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2549)
        at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:620)
        ... 34 more

Вроде все понятно на первый взгляд, но есть маленькое но
база находится физически на другой машине, а адрес в сообщении
Хост сервера: bill.xxxxxxxx.net/127.0.0.1

Что это значит и как понимать?
Может это относится к activemq, он на этой машине
в логах mq.log:
Код:
04-10/15:17:51  INFO [EventProcessor-init] EventProcessor - Init EventProcessor MQ connection factory...
04-10/15:33:41  INFO [event-proc-p-2-t-1] StaticAddressMonitor - Killing sessions with addresses:
04-10/15:48:22  INFO [event-proc-p-2-t-1] StaticAddressMonitor - Killing sessions with addresses:
04-10/16:17:46  INFO [event-proc-p-2-t-1] StaticAddressMonitor - Killing sessions with addresses:


Кто знает куда копать, подскажите.

---------------
лиент: вер. 6.0 сборка 1313 от 10.04.2014 12:48:58
os: Windows 8; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45
Сервер: вер. 6.0 сборка 1723 от 10.04.2014 12:49:07
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 10:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
в файле radius.properties
Код:
#опции подключения к БД
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=Cp1251&allowUrlInLocalInfile=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 11:44 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
У меня немного отличается:
Код:
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://192.168.10.5/bgbilling?useUnicode=true&characterEncoding=Cp1251&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true&queryTimeoutKillsConnection=true&connectTimeout=1000
db.user=xxxxxx
db.pswd=xxxxxxx
db.maxIdle=10
db.maxActive=850
db.validationTimeout=20


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 12:04 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
проверьте время на машине с биллингом и базой совпадает? по ходу разсинхроризированно


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 12:13 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Либо в отчете или скрипте или еще где используется соединение со слейв базой, на которую и ругается

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 12:16 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
самое интересное что видать ошибка как молния
Цитата:
0 milliseconds ago


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 12:24 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
Время секунда в секунду.
Slave не используется не в скриптах не в отчетах, (только для бэкапа ночью).
Началось или совпало с переходом с 5.1 на 6.0.
Уже не знаю куда копать.
Была мысль, что не хватает кол-ва коннектов к базе, да нет вроде хватает.
База с биллингом состыкована отдельными сетевыми по оптике "попа к попе",
ошибок на интерфейсах нет, загрузка вроде тож в норме.

А сколько один радиус может тянуть сессий pppoe?
У меня сейчас от 10000 до 13500....может здесь засада?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 12:29 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
что бы отмести все сомнения проверьте как различаются настройки подключения к базе в конфигах 5.1 и 6.0, значит что то изменилось.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 12:58 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
Отличаются.
В инструкции по обновлению было сказано:
Код:
Установите новые версии коллекторов и RADIUS серверов произведя аналогичные старым настройки .properties файлов.
   Для .properties файлов RADIUS серверов и коллекторов установка опций производится по аналогии с опциями URL из .properties файла из новой версии!


Поэтому так и сделал....Вот как сейчас:
Код:
db.url=jdbc:mysql://192.168.10.5/bgbilling?useUnicode=true&characterEncoding=Cp1251&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true&queryTimeoutKillsConnection=true&connectTimeout=1000

как было:
Код:
db.url=jdbc:mysql://192.168.10.5/bgbilling?useUnicode=true&characterEncoding=Cp1251&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 15:18 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
покажите результат sql-Запроса :
Код:
 show variables like "%timeout%";


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 15:28 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
Запрос с сервера где установлен радиус:
Код:
mysql> show variables like "%timeout%";
+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| connect_timeout            | 10    |
| delayed_insert_timeout     | 300   |
| innodb_lock_wait_timeout   | 120   |
| innodb_rollback_on_timeout | OFF   |
| interactive_timeout        | 28800 |
| net_read_timeout           | 30    |
| net_write_timeout          | 60    |
| slave_net_timeout          | 3600  |
| table_lock_wait_timeout    | 50    |
| wait_timeout               | 28800 |
+----------------------------+-------+
10 rows in set (0.00 sec)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 16:04 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
mazay-d писал(а):
Вроде все понятно на первый взгляд, но есть маленькое но
база находится физически на другой машине, а адрес в сообщении
Хост сервера: bill.xxxxxxxx.net/127.0.0.1



Я вот не понял. Вас не смущает сама ошибка о недоступности базы, но смущает сообщение "Хост сервера:" . Это не хост базы, а хост того приложения где произошла ошибка. Причем localhost этой машины ( там просто выводится то, что возвращается в java.net.InetAddress.getLocalHost().toString() ).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 17:47 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
а с того где лежит база биллинга?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 18:08 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
stark писал(а):
mazay-d писал(а):
Вроде все понятно на первый взгляд, но есть маленькое но
база находится физически на другой машине, а адрес в сообщении
Хост сервера: bill.xxxxxxxx.net/127.0.0.1



Я вот не понял. Вас не смущает сама ошибка о недоступности базы, но смущает сообщение "Хост сервера:" . Это не хост базы, а хост того приложения где произошла ошибка. Причем localhost этой машины ( там просто выводится то, что возвращается в java.net.InetAddress.getLocalHost().toString() ).


Это я уже понял. Просто первые мысли были такие...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 18:09 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
zavndw писал(а):
а с того где лежит база биллинга?


Код:
mysql> show variables like "%timeout%";
+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| connect_timeout            | 10    |
| delayed_insert_timeout     | 300   |
| innodb_lock_wait_timeout   | 120   |
| innodb_rollback_on_timeout | OFF   |
| interactive_timeout        | 28800 |
| net_read_timeout           | 30    |
| net_write_timeout          | 60    |
| slave_net_timeout          | 3600  |
| table_lock_wait_timeout    | 50    |
| wait_timeout               | 28800 |
+----------------------------+-------+
10 rows in set (0.00 sec)



Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 19:41 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Попробуйте указать connectTimeout=10000 вместо текущей 1000.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2014, 20:40 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
Amir писал(а):
Попробуйте указать connectTimeout=10000 вместо текущей 1000.


Поставил. Буду ждать.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.153s | 52 Queries | GZIP : On ]