BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
 Заголовок сообщения: [7.0] Deadlock found
СообщениеДобавлено: 31 июл 2017, 21:30 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
При попытке открыть модуль в клиенте - выдает ошибку. Договора не ищет, платежи не ходят.

Код:
u.bitel.bgbilling.common.BGException: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.sun.xml.ws.fault.SOAPFaultBuilder.createUserDefinedException(SOAPFaultBuilder.java:318)
   at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:139)
   at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:123)
   at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93)
   at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:144)
   at com.sun.proxy.$Proxy37.searchTransactions(Unknown Source)
   at ru.bitel.bgbilling.modules.mps.client.TransactionPanel$1.actionPerformedImpl(TransactionPanel.java:55)
   at ru.bitel.common.client.AbstractBGUPanel.actionPerformed(AbstractBGUPanel.java:237)
   at ru.bitel.common.client.AbstractBGUPanel$DefaultAction.actionPerformed(AbstractBGUPanel.java:91)
   at ru.bitel.common.client.AbstractBGUPanel.performAction(AbstractBGUPanel.java:541)
   at ru.bitel.common.client.AbstractBGUPanel.performAction(AbstractBGUPanel.java:522)
   at ru.bitel.common.client.AbstractBGUPanel.performAction(AbstractBGUPanel.java:517)
   at ru.bitel.bgbilling.modules.mps.client.ServicePropertiesPanel.setData(ServicePropertiesPanel.java:29)
   at bitel.billing.module.contract.ContractSubPanel_Module.setData(ContractSubPanel_Module.java:165)
   at bitel.billing.module.contract.ContractPanel_Parameters$5.run(ContractPanel_Parameters.java:650)
   at java.awt.event.InvocationEvent.dispatch(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$500(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)

Код:
Информация о версии:

  Клиент: вер. 7.0.871 / 16.02.2017 20:14:41
    os: Windows 10; java: Java HotSpot(TM) Client VM, v.1.8.0_121
  Сервер: вер. 7.0.1194 / 16.02.2017 20:16:11
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45

  bill: вер. 7.0.113 / 16.02.2017 19:54:44
  card: вер. 7.0.40 / 22.08.2016 16:40:03
  dialup: вер. 7.0.319 / 29.08.2016 16:38:40
  drweb: вер. 7.0.73 / 08.04.2016 17:40:40
  inet: вер. 7.0.727 / 16.02.2017 19:54:16
  ipn: вер. 7.0.264 / 08.01.2017 19:16:17
  mps: вер. 7.0.207 / 03.02.2017 20:14:10
  npay: вер. 7.0.204 / 01.02.2017 19:44:28
  paymaster: вер. 7.0.63 / 31.01.2017 19:41:50
  rentsoft: вер. 7.0.66 / 24.11.2016 20:07:12
  reports: вер. 7.0.228 / 06.02.2017 14:32:13
  rscm: вер. 7.0.184 / 10.02.2017 13:51:11
  ru.bitel.bgbilling.plugins.bonus: вер. 7.0.128 / 24.11.2016 20:05:19
  ru.bitel.bgbilling.plugins.crm: вер. 7.0.198 / 07.11.2016 18:45:32
  ru.bitel.bgbilling.plugins.dispatch: вер. 7.0.92 / 25.01.2017 17:01:23
  sberbank: вер. 7.0.59 / 17.02.2017 18:52:43
  trayinfo: вер. 7.0.175 / 10.06.2016 17:00:23
  tv: вер. 7.0.239 / 30.11.2016 18:20:31

Окружение:

  Клиент:
    os: Windows 10 x86, 10.0
    java: Java HotSpot(TM) Client VM, v.1.8.0_121
    jre home: C:\Program Files (x86)\Java\jre1.8.0_121
    memory (use/total/max): 27M/57M/247M
    default tz: 31.07.2017 18:29 MSK +0300 (Europe/Moscow)
    user tz: 31.07.2017 18:29 MSK +0300 (Europe/Moscow)
    locale: ru_RU
  Сервер:
    os: Linux amd64, 3.10.0-514.26.2.el7.x86_64
    java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
    jre home: /usr/java/jdk1.8.0_45/jre
    default tz: 31.07.2017 18:29 MSK +0300 (Europe/Moscow)
    memory (use/total/max): 450M/806M/1820M
    db time: master: 31.07.2017 18:29 MSK
    db charset: connection: cp1251(cp1251_general_ci), database: cp1251(cp1251_general_ci)
    locale: en_US
    uptime: Started: 31.07.2017 18:17:03 Uptime: 0 d 00:12:38

Третьи стороны:

  Fugue Icons. Copyright © 2011 Yusuke Kamiyamane. All rights reserved.
    http://p.yusukekamiyamane.com/
  Silk icon set. Copyright © Mark James. All rights reserved.
    http://www.famfamfam.com/lab/icons/silk/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 31 июл 2017, 21:30 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
обновлять? или лекарства еще не придумано?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 31 июл 2017, 22:05 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
поправка - платежи ходят. не открывается модуль. ни через меню, ни через договор


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 01 авг 2017, 01:35 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
в логах сервера есть еще вот такое:

Код:
server 07-31/22:29:50 ERROR [http-bio-0.0.0.0-8080-exec-23] AbstractJaxWsHandler -
java.lang.reflect.InvocationTargetException
        at ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo.invoke(ServiceInfo.java:118)
        at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke0(AbstractJaxWsHandler.java:229)
        at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.access$000(AbstractJaxWsHandler.java:47)
        at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$1.run(AbstractJaxWsHandler.java:276)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke(AbstractJaxWsHandler.java:270)
        at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler.invoke(JaxWsHandler.java:315)
        at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$ServiceInstanceResolver$1.invoke(AbstractJaxWsHandler.java:375)
        at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:150)
        at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:261)
        at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100)
        at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
        at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
        at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
        at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
        at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:314)
        at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:608)
        at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:259)
        at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:162)
        at ru.bitel.bgbilling.kernel.container.ws.server.JaxWSAdapter.handle(JaxWSAdapter.java:290)
        at bitel.billing.server.Executer.doPost(SourceFile:163)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: ru.bitel.bgbilling.common.BGException: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction
        at ru.bitel.common.sql.ConnectionSet.commit(ConnectionSet.java:198)
        at ru.bitel.bgbilling.kernel.container.managed.ServerContext.commit(ServerContext.java:289)
        at ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo.invoke(ServiceInfo.java:103)
        ... 40 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
        at com.mysql.jdbc.Util.getInstance(Util.java:387)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2547)
        at com.mysql.jdbc.ConnectionImpl.commit(ConnectionImpl.java:1616)
        at org.apache.commons.dbcp.DelegatingConnection.commit(DelegatingConnection.java:334)
        at ru.bitel.bgbilling.server.util.PoolGuardConnectionWrapper.commit(PoolGuardConnectionWrapper.java:74)
        at ru.bitel.common.sql.ConnectionSet.commit(ConnectionSet.java:175)
        ... 42 more


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 01 авг 2017, 12:05 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
на тестовой БД проблема не воспроизводится...
попробуйте обновить до последних сборок...

возможно проблема с БД, какая у вас конфигурация БД
простая или какая нибудь сложная с несколькими БД, типа мастер-слейв.

в этом запросе используется схема с созданием временной таблицы, копированием данных в нее и затем выборка по этой временной таблице, возможно не хватает каких нибудь прав в БД

посмотрите еще логи самого mysql возможно там есть что нибудь


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 01 авг 2017, 14:56 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
в логе MySQL ошибок не видно, которые явно указывали на dedlock
Код:
10.2.7-MariaDB-log

Код:
[server]

[mysqld]
sql_mode =
skip-name-resolve
#log_bin_basename = /mnt/nfs_vol/vm-billing-db1/mysql/mysql-bin
#log_bin_index = /mnt/nfs_vol/vm-billing-db1/mysql/mysql-bin.index
log_bin = mysql-bin
log_error = mysql.err
log_warnings = 1
character_set_server=utf8
collation_server=utf8_unicode_ci
table_open_cache = 2000
binlog_cache_size = 16M
performance_schema = 1
# FROM OLD SERVER
max_allowed_packet = 100M
max_connections = 600
table_cache = 4096
thread_cache_size = 300
thread_concurrency = 4
#
join_buffer_size = 128M
innodb_buffer_pool_size = 12G
innodb_log_files_in_group = 3
innodb_log_file_size = 1G
innodb_log_buffer_size = 8M
innodb_lock_wait_timeout = 120
innodb_thread_concurrency = 2
innodb_flush_method = O_DIRECT
innodb_buffer_pool_instances = 16

[galera]
binlog_format = ROW
default-storage-engine = innodb
innodb_autoinc_lock_mode = 2
innodb_locks_unsafe_for_binlog = 1
query_cache_size = 0
query_cache_type = 0
bind-address = 0.0.0.0
datadir = /var/lib/mysql
innodb_file_per_table
innodb_flush_log_at_trx_commit = 0
wsrep_provider = /usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address = 'gcomm://10.201.0.21,10.201.0.22'
wsrep_cluster_name = 'galera_cluster'
wsrep_node_address = '10.201.0.21'
wsrep_node_name = 'vm-billing-db1'
wsrep_sst_method = rsync
wsrep_sst_auth = sstuser:sstuserpass
wsrep_on = ON
wsrep_slave_threads = 8

[embedded]

[mariadb]

[mariadb-10.1]


крутится 3 базы данных внутри - bgbilling, bgcrm, инвентори


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 01 авг 2017, 15:01 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
как раз совпало с переездом на новую базу данных и новый сервер для прложений.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 01 авг 2017, 15:04 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
в схеме с базой данных - есть две ноды в кластере, постоянная работа только с одной из них, вторая висит в бэкапе


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 01 авг 2017, 15:07 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Нужен вывод :
"show engine innodb status"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 01 авг 2017, 15:15 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Вложение:
innodb.txt [26.88 КБ]
Скачиваний: 524


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 01 авг 2017, 15:21 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
На этом сервере mysql не было дедлоков. Или там реально не было, иди вы его перезагрузили с тех пор. С учетом что у вас galera возможно deadlock произошел на другом сервере. Еще смутно помню в ТП была тема, при схеме master-master темповые таблицы создавались на обоих серверах и это порождало проблему при переобсчете inet.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 01 авг 2017, 17:08 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
на втором сервере тоже нет deadlock'ов.
воспроизвёл ошибку, посмотрел в show engine innodb status и нет строк указывающих на произошедший дедлок на обоих серверах. где же они возникают?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 01 авг 2017, 18:10 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Похоже в самой galera.

Тут что-то очень похожее:
https://bugs.launchpad.net/percona-xtra ... ug/1240098

Попробуем переделать, чтобы в данном месте не было CREATE TEMOPORARY TABLE SELECT.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 01 авг 2017, 18:32 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
а это вообще как то на функциональсть влияет (кроме отображения в клиенте)? есть ли еще подобные конструкции которые могут вызвать дедлок?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 02 авг 2017, 17:34 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
Dog писал(а):
а это вообще как то на функциональсть влияет (кроме отображения в клиенте)?


сложно сказать, мы не тестировали такую связку и другие клиенты вроде тоже не используют, по крайней мере ни кто не жаловался

Dog писал(а):
есть ли еще подобные конструкции которые могут вызвать дедлок?


не известно, код на такие конструкции не проверялся...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [7.0] Deadlock found
СообщениеДобавлено: 02 авг 2017, 17:39 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Этот вызов используется только для построения отчета в клиенте.
Поиском нашел, что такая конструкция есть еще в задаче "Валидация", но возможно что-то упустил.


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

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


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

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


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

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