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

Незакрытые preparedStatement (CRM)
http://forum.bitel.ru/viewtopic.php?f=22&t=7369
Страница 6 из 12

Автор:  stark [ 09 июн 2014, 18:57 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

abu писал(а):

Условие отправки - отправка по балансу (больше никаких условий нет).


О, кажется нашли..Похоже что все-таки эту ошибку добавили в 6.1. Исправляем.

Автор:  stark [ 09 июн 2014, 19:37 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

Исправлено. В следующем обновлении будет .

Автор:  abu [ 10 июн 2014, 05:16 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

Да, ошибка ушла. Спасибо.

Автор:  Cromeshnic [ 07 июл 2014, 06:42 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

v 5.2

scheduler 07-05/08:11:12 ERROR [pool-2-thread-7] DefaultServerSetup - Many statements was open at connection close:
com.mysql.jdbc.PreparedStatement@17cb14aa: SELECT * FROM global_script_link WHERE id=4
com.mysql.jdbc.JDBC4PreparedStatement@3ccb91f8: SELECT * FROM tariff_option WHERE (date1 IS NULL OR date1<='2014-07-05') AND (date2 IS NULL OR '2014-07-05'<=date2) ORDER BY title
com.mysql.jdbc.JDBC4PreparedStatement@50c802e4: SELECT * FROM contract WHERE id=184844
com.mysql.jdbc.PreparedStatement@f3c7bc5: SELECT * FROM contract WHERE id=204637
com.mysql.jdbc.PreparedStatement@54aa3610: SELECT * FROM tariff_option WHERE (date1 IS NULL OR date1<=null) AND (date2 IS NULL OR null<=date2) ORDER BY title
com.mysql.jdbc.PreparedStatement@3fed8f13: SELECT * FROM tariff_option WHERE (date1 IS NULL OR date1<='2014-07-05') AND (date2 IS NULL OR '2014-07-05'<=date2) ORDER BY title
com.mysql.jdbc.PreparedStatement@762e2b5b: SELECT * FROM contract WHERE id=193123

Автор:  Cromeshnic [ 07 июл 2014, 06:47 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

В TariffOptionServiceImpl используется везде TariffOptionDao, который не закрывается:

Код:
new TariffOptionDao(getConnection()).get(id)


Ну и global_script_link по такой же причине

Автор:  stark [ 07 июл 2014, 12:13 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

Cromeshnic писал(а):
В TariffOptionServiceImpl используется везде TariffOptionDao, который не закрывается:

Код:
new TariffOptionDao(getConnection()).get(id)


Ну и global_script_link по такой же причине

Исправлено, в следующем обновлении будет.

Автор:  Bazhutyan [ 01 авг 2014, 04:30 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

обновились до версии 6.1.938 -

BGBillingServer v 6.1.938 / 29.07.2014 18:44:03
Started: 31.07.2014 16:48:45 Uptime: 0 d 17:27:17
Memory total: 394 788 864; max: 4 772 069 376; free: 67 512 136
Memory pools:
Non-heap memory[Code Cache]: max: 50 331 648; used: 13 700 288; peek: 13 801 408
Heap memory[PS Eden Space]: max: 1 787 297 792; used: 30 468 160; peek: 1 614 807 040
Heap memory[PS Survivor Space]: max: 524 288; used: 491 552; peek: 71 284 088
Heap memory[PS Old Gen]: max: 3 578 789 888; used: 296 317 016; peek: 296 317 016
Non-heap memory[PS Perm Gen]: max: 536 870 912; used: 72 197 840; peek: 72 197 840
Thread count: 213
Connections pool to Master status Idle: 3; Active: 352; maxActive: 800; maxIdle: 20

Но количество соединений активных все равно постоянно растет.
Изначально maxActive стояло 300, менее чем за сутки выбирались, поставили сейчас 800, но вот за примерно 18 часов уже 352 накопилось

попробовали посмотреть через conpool, ошибка -

# ./server.sh conpool
java.net.SocketTimeoutException: Receive timed out
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:145)
at java.net.DatagramSocket.receive(DatagramSocket.java:786)
at bitel.billing.server.Server.executeCommand(Server.java:412)
at bitel.billing.server.Server.main(Server.java:363)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at ru.bitel.common.bootstrap.Boot.boot(Boot.java:129)
at ru.bitel.common.bootstrap.Boot.main(Boot.java:178)

в логах ошибка -
08-01/10:21:28 INFO [AdminPortListener] AdminPortListener - Admin command: conpool
08-01/10:21:28 INFO [AdminPortListener] DefaultServerSetup - jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=UTF-8&allowUrlInLocalInfile=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true
&useCursorFetch=true&queryTimeoutKillsConnection=true&connectTimeout=1000, UserName=bill@127.0.0.1, MySQL Connector Java
at ru.bitel.bgbilling.server.util.DefaultServerSetup$1.borrowObject(DefaultServerSetup.java:1)
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.iks.inet.dyn.jsp.myUtils.isPPPoE(myUtils.java:30)
at ru.iks.inet.dyn.jsp.myUtils.isPPPoE(myUtils.java:81)
at org.apache.jsp.WEB_002dINF.jspf.layout.webexecuter_jsp._jspService(webexecuter_jsp.java:228)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:954)
at org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:684)
at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:678)
at org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:103)
at org.apache.tiles.jsp.context.JspTilesRequestContext.dispatch(JspTilesRequestContext.java:96)
at org.apache.tiles.renderer.impl.TemplateAttributeRenderer.write(TemplateAttributeRenderer.java:44)
at org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer.java:103)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:669)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:689)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:643)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:626)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:322)
at org.apache.tiles.jsp.taglib.InsertDefinitionTag.renderContext(InsertDefinitionTag.java:66)
at org.apache.tiles.jsp.taglib.InsertTemplateTag.render(InsertTemplateTag.java:81)
at org.apache.tiles.jsp.taglib.RenderTag.doEndTag(RenderTag.java:220)
at org.apache.jsp.WEB_002dINF.jspf.webcontent_jsp._jspx_meth_tiles_005finsertDefinition_005f0(webcontent_jsp.java:204)
at org.apache.jsp.WEB_002dINF.jspf.webcontent_jsp._jspService(webcontent_jsp.java:146)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
at bitel.billing.server.WebExecuter.doPost(WebExecuter.java:343)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at ru.bitel.common.server.filters.MultipartFilter.doFilter(MultipartFilter.java:48)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at ru.bitel.common.server.filters.XSSFilter.doFilter(XSSFilter.java:89)
...


что можно предпринять?

Автор:  stark [ 01 авг 2014, 13:12 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

Bazhutyan писал(а):
о
at ru.iks.inet.dyn.jsp.myUtils.isPPPoE(myUtils.java:30)
at ru.iks.inet.dyn.jsp.myUtils.isPPPoE(myUtils.java:81)


Это что-то такое? там случайно не используется соединение к базе, которое не закрывается потом? В ваших скриптах нигде не берется соединение к базе, которое не закрывается ?

Автор:  stark [ 01 авг 2014, 13:20 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

После перезагрузки сервера если сразу вызывать conpool то сразу же не работает? Может быть, он не сразу перестает работать. можно поймать момент когда есть уже утекшие connection-ы и еще работает conpool.

Автор:  stark [ 01 авг 2014, 13:22 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

Еще можно попробоватьснять jstack несколько раз подряд(с интервалом в минуту) и прикрепить его сюда.

Автор:  Bazhutyan [ 04 авг 2014, 05:17 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

Действительно, в своей isPPPoE не раскомментировали строку с closeConnection(con) (а зачем ее закомментировали - вообще загадка!)
Теперь активные соединения не растут (почти всегда 0) и conpool возвращает "No connections to DB".
Спасибо за помощь!

Автор:  Dog [ 03 окт 2014, 04:39 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

вот так бывает.
в 1:15 идет начисление абонентских плат по NPAY

Код:
mq 10-03/01:15:15 ERROR [event-proc-p-2-t-1] DefaultServerSetup - Many statements was open at connection close:
com.mysql.jdbc.JDBC4PreparedStatement@2db8aad7: SELECT id, deviceId, deviceState, deviceOptions FROM tv_account_22 WHERE id=325 AND contractId=6033 FOR UPDATE
com.mysql.jdbc.JDBC4PreparedStatement@274b258d: SELECT period.id, period.activationTime, period.timeFrom, period.timeTo, period.flags, product.id, product.productSpecId, product.activationModeId, product.activationTime, product.activationPrice, product.timeFrom, product.timeTo, product.deviceState FROM inv_product as product LEFT JOIN inv_product_period as period ON period.productId=product.id WHERE product.contractId=6033 AND product.accountId=325 AND period.contractId=6033 AND period.flags=1 AND period.timeTo<='2014-10-03 01:15:14' AND product.id IS NOT NULL LOCK IN SHARE MODE
com.mysql.jdbc.ServerPreparedStatement[4857] - SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6033 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@697f30e: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6033 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.PreparedStatement@5bbcf807: SELECT id, deviceId, deviceState, deviceOptions FROM tv_account_22 WHERE id=219 AND contractId=6056 FOR UPDATE
com.mysql.jdbc.JDBC4PreparedStatement@7f023dc4: SELECT period.id, period.activationTime, period.timeFrom, period.timeTo, period.flags, product.id, product.productSpecId, product.activationModeId, product.activationTime, product.activationPrice, product.timeFrom, product.timeTo, product.deviceState FROM inv_product as product LEFT JOIN inv_product_period as period ON period.productId=product.id WHERE product.contractId=6056 AND product.accountId=219 AND period.contractId=6056 AND period.flags=1 AND period.timeTo<='2014-10-03 01:15:14' AND product.id IS NOT NULL LOCK IN SHARE MODE
com.mysql.jdbc.JDBC4PreparedStatement@3f78ff4a: SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6056 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@6f1f1e5: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6056 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.PreparedStatement@f78bfc: SELECT id, deviceId, deviceState, deviceOptions FROM tv_account_22 WHERE id=316 AND contractId=6274 FOR UPDATE
com.mysql.jdbc.JDBC4PreparedStatement@438a700b: SELECT period.id, period.activationTime, period.timeFrom, period.timeTo, period.flags, product.id, product.productSpecId, product.activationModeId, product.activationTime, product.activationPrice, product.timeFrom, product.timeTo, product.deviceState FROM inv_product as product LEFT JOIN inv_product_period as period ON period.productId=product.id WHERE product.contractId=6274 AND product.accountId=316 AND period.contractId=6274 AND period.flags=1 AND period.timeTo<='2014-10-03 01:15:15' AND product.id IS NOT NULL LOCK IN SHARE MODE
com.mysql.jdbc.PreparedStatement@66b828c0: SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6274 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@3c590f50: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6274 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.PreparedStatement@2291f9bc: SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6274 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@10a170b: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6274 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.PreparedStatement@c573747: SELECT id, deviceId, deviceState, deviceOptions FROM tv_account_22 WHERE id=323 AND contractId=6310 FOR UPDATE
com.mysql.jdbc.JDBC4PreparedStatement@79aae3f: SELECT period.id, period.activationTime, period.timeFrom, period.timeTo, period.flags, product.id, product.productSpecId, product.activationModeId, product.activationTime, product.activationPrice, product.timeFrom, product.timeTo, product.deviceState FROM inv_product as product LEFT JOIN inv_product_period as period ON period.productId=product.id WHERE product.contractId=6310 AND product.accountId=323 AND period.contractId=6310 AND period.flags=1 AND period.timeTo<='2014-10-03 01:15:15' AND product.id IS NOT NULL LOCK IN SHARE MODE
com.mysql.jdbc.PreparedStatement@7b9362bd: SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6310 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@18c08bda: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6310 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.PreparedStatement@66a16bc2: SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6310 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@87505a3: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6310 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.PreparedStatement@66af80d: SELECT id, deviceId, deviceState, deviceOptions FROM tv_account_22 WHERE id=268 AND contractId=6336 FOR UPDATE
com.mysql.jdbc.JDBC4PreparedStatement@729c9309: SELECT period.id, period.activationTime, period.timeFrom, period.timeTo, period.flags, product.id, product.productSpecId, product.activationModeId, product.activationTime, product.activationPrice, product.timeFrom, product.timeTo, product.deviceState FROM inv_product as product LEFT JOIN inv_product_period as period ON period.productId=product.id WHERE product.contractId=6336 AND product.accountId=268 AND period.contractId=6336 AND period.flags=1 AND period.timeTo<='2014-10-03 01:15:15' AND product.id IS NOT NULL LOCK IN SHARE MODE
com.mysql.jdbc.PreparedStatement@58829a66: SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6336 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@283c5e81: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6336 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC


Код:
Сервер: вер. 6.0 сборка 1793 от 17.09.2014 01:45:13
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_33
npay вер. 6.0 сборка 226 от 11.06.2014 17:27:01

Автор:  stark [ 03 окт 2014, 11:20 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

Dog писал(а):
вот так бывает.
в 1:15 идет начисление абонентских плат по NPAY

Код:
mq 10-03/01:15:15 ERROR [event-proc-p-2-t-1] DefaultServerSetup - Many statements was open at connection close:
com.mysql.jdbc.JDBC4PreparedStatement@2db8aad7: SELECT id, deviceId, deviceState, deviceOptions FROM tv_account_22 WHERE id=325 AND contractId=6033 FOR UPDATE
com.mysql.jdbc.JDBC4PreparedStatement@274b258d: SELECT period.id, period.activationTime, period.timeFrom, period.timeTo, period.flags, product.id, product.productSpecId, product.activationModeId, product.activationTime, product.activationPrice, product.timeFrom, product.timeTo, product.deviceState FROM inv_product as product LEFT JOIN inv_product_period as period ON period.productId=product.id WHERE product.contractId=6033 AND product.accountId=325 AND period.contractId=6033 AND period.flags=1 AND period.timeTo<='2014-10-03 01:15:14' AND product.id IS NOT NULL LOCK IN SHARE MODE
com.mysql.jdbc.ServerPreparedStatement[4857] - SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6033 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@697f30e: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6033 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.PreparedStatement@5bbcf807: SELECT id, deviceId, deviceState, deviceOptions FROM tv_account_22 WHERE id=219 AND contractId=6056 FOR UPDATE
com.mysql.jdbc.JDBC4PreparedStatement@7f023dc4: SELECT period.id, period.activationTime, period.timeFrom, period.timeTo, period.flags, product.id, product.productSpecId, product.activationModeId, product.activationTime, product.activationPrice, product.timeFrom, product.timeTo, product.deviceState FROM inv_product as product LEFT JOIN inv_product_period as period ON period.productId=product.id WHERE product.contractId=6056 AND product.accountId=219 AND period.contractId=6056 AND period.flags=1 AND period.timeTo<='2014-10-03 01:15:14' AND product.id IS NOT NULL LOCK IN SHARE MODE
com.mysql.jdbc.JDBC4PreparedStatement@3f78ff4a: SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6056 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@6f1f1e5: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6056 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.PreparedStatement@f78bfc: SELECT id, deviceId, deviceState, deviceOptions FROM tv_account_22 WHERE id=316 AND contractId=6274 FOR UPDATE
com.mysql.jdbc.JDBC4PreparedStatement@438a700b: SELECT period.id, period.activationTime, period.timeFrom, period.timeTo, period.flags, product.id, product.productSpecId, product.activationModeId, product.activationTime, product.activationPrice, product.timeFrom, product.timeTo, product.deviceState FROM inv_product as product LEFT JOIN inv_product_period as period ON period.productId=product.id WHERE product.contractId=6274 AND product.accountId=316 AND period.contractId=6274 AND period.flags=1 AND period.timeTo<='2014-10-03 01:15:15' AND product.id IS NOT NULL LOCK IN SHARE MODE
com.mysql.jdbc.PreparedStatement@66b828c0: SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6274 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@3c590f50: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6274 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.PreparedStatement@2291f9bc: SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6274 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@10a170b: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6274 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.PreparedStatement@c573747: SELECT id, deviceId, deviceState, deviceOptions FROM tv_account_22 WHERE id=323 AND contractId=6310 FOR UPDATE
com.mysql.jdbc.JDBC4PreparedStatement@79aae3f: SELECT period.id, period.activationTime, period.timeFrom, period.timeTo, period.flags, product.id, product.productSpecId, product.activationModeId, product.activationTime, product.activationPrice, product.timeFrom, product.timeTo, product.deviceState FROM inv_product as product LEFT JOIN inv_product_period as period ON period.productId=product.id WHERE product.contractId=6310 AND product.accountId=323 AND period.contractId=6310 AND period.flags=1 AND period.timeTo<='2014-10-03 01:15:15' AND product.id IS NOT NULL LOCK IN SHARE MODE
com.mysql.jdbc.PreparedStatement@7b9362bd: SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6310 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@18c08bda: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6310 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.PreparedStatement@66a16bc2: SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6310 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@87505a3: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6310 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.PreparedStatement@66af80d: SELECT id, deviceId, deviceState, deviceOptions FROM tv_account_22 WHERE id=268 AND contractId=6336 FOR UPDATE
com.mysql.jdbc.JDBC4PreparedStatement@729c9309: SELECT period.id, period.activationTime, period.timeFrom, period.timeTo, period.flags, product.id, product.productSpecId, product.activationModeId, product.activationTime, product.activationPrice, product.timeFrom, product.timeTo, product.deviceState FROM inv_product as product LEFT JOIN inv_product_period as period ON period.productId=product.id WHERE product.contractId=6336 AND product.accountId=268 AND period.contractId=6336 AND period.flags=1 AND period.timeTo<='2014-10-03 01:15:15' AND product.id IS NOT NULL LOCK IN SHARE MODE
com.mysql.jdbc.PreparedStatement@58829a66: SELECT tree_id, date1, date2 FROM contract_tree_link WHERE cid=6336 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND (date2 IS NULL OR date2>='2013-10-03') ORDER BY emid DESC, eid DESC, pos ASC
com.mysql.jdbc.JDBC4PreparedStatement@283c5e81: SELECT tree_id, date1, date2 FROM contract_tariff INNER JOIN tariff_plan ON contract_tariff.tpid=tariff_plan.id WHERE cid=6336 AND ((emid=0 AND eid=0) OR (emid=0 AND eid=0)) AND ( isNull(date2) OR date2='0000-00-00' OR date2>='2013-10-03' ) ORDER BY emid DESC, eid DESC, pos ASC


Код:
Сервер: вер. 6.0 сборка 1793 от 17.09.2014 01:45:13
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_33
npay вер. 6.0 сборка 226 от 11.06.2014 17:27:01



Это модуль TV. Исправлено, в следующем обновлении будет(выкладывается).

Автор:  Cromeshnic [ 13 окт 2014, 07:22 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

Код:
com.mysql.jdbc.JDBC4PreparedStatement@86a9899: SELECT * FROM contract_limit_manage WHERE cid=193217 AND status<2


Класс bitel.billing.server.contract.bean.LimitManager

v 5.2

Автор:  Cromeshnic [ 13 окт 2014, 08:50 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

Код:
com.mysql.jdbc.ServerPreparedStatement[48373] - SELECT id, title FROM contract_parameters_pref ORDER BY sort
com.mysql.jdbc.ServerPreparedStatement[48374] - SELECT count(*) FROM contract_parameter_group AS t1, contract_parameters_pref AS t2 WHERE t1.gid=10 AND t1.pid=t2.id AND t1.pid=3


bitel.billing.server.admin.action.ActionListDirectory

v 5.2

Автор:  Cromeshnic [ 13 окт 2014, 08:56 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

ru.bitel.bgbilling.modules.inet.task.InetServPeriodTask:
не вызывается recycle() для кучи объектов:

Код:
    InetServDao inetServDao = new InetServDao(this.setup, con, this.moduleId, -1);
    InetServOptionDao servOptionDao = new InetServOptionDao(con, this.moduleId);

    ContractManager contractManager = new ContractManager(con);
    BalanceDao balanceDao = new BalanceDao(con);
...


v 5.2

Автор:  Cromeshnic [ 13 окт 2014, 11:58 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

Код:
com.mysql.jdbc.JDBC4PreparedStatement@7956615d: SELECT * FROM inet_accounting_period_30 WHERE contractId=204453 ORDER BY dateFrom
com.mysql.jdbc.JDBC4PreparedStatement@15b106b4: SELECT * FROM inet_accounting_period_30 WHERE id=40746


В ru.bitel.bgbilling.modules.inet.api.server.Module :

Код:
new InetAccountingPeriodDao(ctx.getConnection(), moduleId, e.getUserId()).deleteForContract(e.getContractId());

- не закрывается.

Ну и вообще, в этом классе похоже ни один DAO не закрывается.

v 5.2

Автор:  stark [ 14 окт 2014, 11:29 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

Cromeshnic писал(а):
ru.bitel.bgbilling.modules.inet.task.InetServPeriodTask:
не вызывается recycle() для кучи объектов:

Код:
    InetServDao inetServDao = new InetServDao(this.setup, con, this.moduleId, -1);
    InetServOptionDao servOptionDao = new InetServOptionDao(con, this.moduleId);

    ContractManager contractManager = new ContractManager(con);
    BalanceDao balanceDao = new BalanceDao(con);
...


v 5.2


ну там одни создаются по одному экземпляру для Coonection-а и закрываются вместе с ним. В принципе ничего страшного тут не происходит, не заметил, чтобы они создавались использовались в цикле где-нибудь.

Автор:  Cromeshnic [ 14 окт 2014, 11:57 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement (CRM)

Ну мб, но, по-моему, он в логи как раз ругается при закрытии коннекшена, если есть незакрытые ps у него.
Т.е. просто глаза мозолить будет.

Автор:  Phricker [ 18 ноя 2014, 23:50 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement (CRM)

При перезапуске сервера сегодня обнаружил
Код:
server 11-18/16:47:47 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:47 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:48 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:48 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:48 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:49 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:49 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:50 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:50 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:50 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:51 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:51 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:51 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:52 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:52 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:52 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:53 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:53 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:53 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:54 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:54 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:55 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:55 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:55 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:56 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:56 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:56 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:57 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:57 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:57 ERROR [http-bio-127.0.0.1-8080-exec-6] CommonKernelEventProcessor - Not supported event!
server 11-18/16:47:58 ERROR [http-bio-127.0.0.1-8080-exec-6] DefaultServerSetup - Many statements was open at connection close:
com.mysql.jdbc.ServerPreparedStatement[2862] - SELECT * FROM contract WHERE id=94972
com.mysql.jdbc.ServerPreparedStatement[2869] - SELECT * FROM contract WHERE id=94972
com.mysql.jdbc.ServerPreparedStatement[3098] - SELECT * FROM contract WHERE id=94972
com.mysql.jdbc.ServerPreparedStatement[3118] - UPDATE contract_tariff SET eid=52057 WHERE cid=159157 AND emid=10 AND eid=33312
com.mysql.jdbc.ServerPreparedStatement[3119] - UPDATE contract_service SET eid=52057 WHERE cid=159157 AND emid=10 AND eid=33312
com.mysql.jdbc.ServerPreparedStatement[3134] - UPDATE contract_tariff SET eid=52058 WHERE cid=159157 AND emid=10 AND eid=33313
com.mysql.jdbc.ServerPreparedStatement[3135] - UPDATE contract_service SET eid=52058 WHERE cid=159157 AND emid=10 AND eid=33313
com.mysql.jdbc.ServerPreparedStatement[3148] - UPDATE contract_tariff SET eid=52059 WHERE cid=159157 AND emid=10 AND eid=33314
com.mysql.jdbc.ServerPreparedStatement[3149] - UPDATE contract_service SET eid=52059 WHERE cid=159157 AND emid=10 AND eid=33314
....
....
com.mysql.jdbc.ServerPreparedStatement[3513] - UPDATE contract_service SET eid=52085 WHERE cid=159157 AND emid=10 AND eid=49143
com.mysql.jdbc.ServerPreparedStatement[3526] - UPDATE contract_tariff SET eid=52086 WHERE cid=159157 AND emid=10 AND eid=49144
com.mysql.jdbc.ServerPreparedStatement[3527] - UPDATE contract_service SET eid=52086 WHERE cid=159157 AND emid=10 AND eid=49144
com.mysql.jdbc.ServerPreparedStatement[3530] - SELECT cid, sid, SUM(cost) FROM log_session_10_201411 WHERE cid IN (94972,159157) GROUP BY cid, sid
com.mysql.jdbc.ServerPreparedStatement[3532] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3544] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3545] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3546] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3547] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3548] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3549] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3550] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3551] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3552] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3553] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3554] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3555] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3556] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3557] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3558] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3559] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3560] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3561] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3562] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3563] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3564] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3565] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3566] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3567] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3568] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3569] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3570] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3571] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3572] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3574] - SELECT * FROM dispatch_contact WHERE contract_id=94972 ORDER BY val


Автор:  stark [ 19 ноя 2014, 12:28 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement (CRM)

Phricker писал(а):
При перезапуске сервера сегодня обнаружил

server 11-18/16:47:58 ERROR [http-bio-127.0.0.1-8080-exec-6] DefaultServerSetup - Many statements was open at connection close:
com.mysql.jdbc.ServerPreparedStatement[2862] - SELECT * FROM contract WHERE id=94972
com.mysql.jdbc.ServerPreparedStatement[2869] - SELECT * FROM contract WHERE id=94972
com.mysql.jdbc.ServerPreparedStatement[3098] - SELECT * FROM contract WHERE id=94972
com.mysql.jdbc.ServerPreparedStatement[3118] - UPDATE contract_tariff SET eid=52057 WHERE cid=159157 AND emid=10 AND eid=33312
com.mysql.jdbc.ServerPreparedStatement[3119] - UPDATE contract_service SET eid=52057 WHERE cid=159157 AND emid=10 AND eid=33312
com.mysql.jdbc.ServerPreparedStatement[3134] - UPDATE contract_tariff SET eid=52058 WHERE cid=159157 AND emid=10 AND eid=33313
com.mysql.jdbc.ServerPreparedStatement[3135] - UPDATE contract_service SET eid=52058 WHERE cid=159157 AND emid=10 AND eid=33313
com.mysql.jdbc.ServerPreparedStatement[3148] - UPDATE contract_tariff SET eid=52059 WHERE cid=159157 AND emid=10 AND eid=33314
com.mysql.jdbc.ServerPreparedStatement[3149] - UPDATE contract_service SET eid=52059 WHERE cid=159157 AND emid=10 AND eid=33314
....
....
com.mysql.jdbc.ServerPreparedStatement[3513] - UPDATE contract_service SET eid=52085 WHERE cid=159157 AND emid=10 AND eid=49143
com.mysql.jdbc.ServerPreparedStatement[3526] - UPDATE contract_tariff SET eid=52086 WHERE cid=159157 AND emid=10 AND eid=49144
com.mysql.jdbc.ServerPreparedStatement[3527] - UPDATE contract_service SET eid=52086 WHERE cid=159157 AND emid=10 AND eid=49144
com.mysql.jdbc.ServerPreparedStatement[3530] - SELECT cid, sid, SUM(cost) FROM log_session_10_201411 WHERE cid IN (94972,159157) GROUP BY cid, sid
com.mysql.jdbc.ServerPreparedStatement[3532] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3544] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3545] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3546] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3547] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3548] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3549] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3550] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3551] - SELECT * FROM contract WHERE id=159157
com.mysql.jdbc.ServerPreparedStatement[3552] - SELECT * FROM contract WHERE id=159157


Версия ? 10-ый модуль это телефония ?

Автор:  Phricker [ 19 ноя 2014, 12:40 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement (CRM)

Да, телефония.
Почти последнее
Код:
Информация о версии:

  Клиент: вер. 6.1.804 / 11.11.2014 11:57:23
    os: Windows 8; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_72
  Сервер: вер. 6.1.989 / 11.11.2014 11:57:28
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_72

  bill: вер. 6.1.250 / 10.09.2014 16:16:54
  card: вер. 6.1.200 / 08.09.2014 16:51:09
  dba: вер. 6.1.161 / 18.06.2014 14:18:37
  dialup: вер. 6.1.312 / 12.09.2014 16:44:17
  inet: вер. 6.1.622 / 05.11.2014 21:28:17
  ipn: вер. 6.1.229 / 03.10.2014 14:29:32
  mps: вер. 6.1.183 / 20.10.2014 12:59:47
  npay: вер. 6.1.179 / 07.11.2014 02:16:26
  phone: вер. 6.1.239 / 16.07.2014 18:23:39
  reports: вер. 6.1.192 / 02.11.2014 23:12:01
  ru.bitel.bgbilling.plugins.bonus: вер. 6.1.115 / 02.11.2014 04:55:48
  ru.bitel.bgbilling.plugins.cashcheck: вер. 6.1.96 / 19.08.2014 18:16:02
  ru.bitel.bgbilling.plugins.cladr: вер. 6.1.114 / 02.04.2014 17:58:45
  ru.bitel.bgbilling.plugins.crm: вер. 6.1.186 / 31.10.2014 13:32:15
  ru.bitel.bgbilling.plugins.dispatch: вер. 6.1.60 / 07.11.2014 02:16:27
  ru.bitel.bgbilling.plugins.documents: вер. 6.1.141 / 23.10.2014 12:24:12
  ru.bitel.bgbilling.plugins.helpdesk: вер. 6.1.193 / 11.11.2014 11:57:36
  ru.bitel.bgbilling.plugins.organizer: вер. 6.1.65 / 17.03.2014 15:30:02
  trayinfo: вер. 6.1.162 / 23.10.2014 12:24:12
  tv: вер. 6.1.191 / 30.10.2014 22:54:10
  voiceip: вер. 6.1.179 / 07.07.2014 13:57:50

Автор:  stark [ 19 ноя 2014, 14:25 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement (CRM)

Phricker писал(а):
Да, телефония.
Почти последнее
Код:
Информация о версии:

  Клиент: вер. 6.1.804 / 11.11.2014 11:57:23
    os: Windows 8; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_72
  Сервер: вер. 6.1.989 / 11.11.2014 11:57:28
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_72

  bill: вер. 6.1.250 / 10.09.2014 16:16:54
  card: вер. 6.1.200 / 08.09.2014 16:51:09
  dba: вер. 6.1.161 / 18.06.2014 14:18:37
  dialup: вер. 6.1.312 / 12.09.2014 16:44:17
  inet: вер. 6.1.622 / 05.11.2014 21:28:17
  ipn: вер. 6.1.229 / 03.10.2014 14:29:32
  mps: вер. 6.1.183 / 20.10.2014 12:59:47
  npay: вер. 6.1.179 / 07.11.2014 02:16:26
  phone: вер. 6.1.239 / 16.07.2014 18:23:39
  reports: вер. 6.1.192 / 02.11.2014 23:12:01
  ru.bitel.bgbilling.plugins.bonus: вер. 6.1.115 / 02.11.2014 04:55:48
  ru.bitel.bgbilling.plugins.cashcheck: вер. 6.1.96 / 19.08.2014 18:16:02
  ru.bitel.bgbilling.plugins.cladr: вер. 6.1.114 / 02.04.2014 17:58:45
  ru.bitel.bgbilling.plugins.crm: вер. 6.1.186 / 31.10.2014 13:32:15
  ru.bitel.bgbilling.plugins.dispatch: вер. 6.1.60 / 07.11.2014 02:16:27
  ru.bitel.bgbilling.plugins.documents: вер. 6.1.141 / 23.10.2014 12:24:12
  ru.bitel.bgbilling.plugins.helpdesk: вер. 6.1.193 / 11.11.2014 11:57:36
  ru.bitel.bgbilling.plugins.organizer: вер. 6.1.65 / 17.03.2014 15:30:02
  trayinfo: вер. 6.1.162 / 23.10.2014 12:24:12
  tv: вер. 6.1.191 / 30.10.2014 22:54:10
  voiceip: вер. 6.1.179 / 07.07.2014 13:57:50


Исправление выложено. Проверьте(я до конца не уверен что все нашел). При переоформлении договора с модулем телефонии бага проявлялась.

Автор:  stark [ 19 ноя 2014, 14:36 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement (CRM)

Обновление еще не выложено, а только выкладывается. Там много изменений накопилось.

Автор:  vkulakov [ 23 ноя 2014, 19:08 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

Код:
Клиент: вер. 6.0 сборка 1357 от 08.11.2014 05:32:00
  os: Windows 7; java: Java HotSpot(TM) Client VM, v.1.7.0_71
Сервер: вер. 6.0 сборка 1807 от 07.11.2014 14:46:57
  os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_32
...
  ru.bitel.bgbilling.plugins.bonus вер. 6.0 сборка 135 от 26.08.2014 04:37:57


Код:
11-23/15:45:18 ERROR [pool-1-thread-1] DefaultServerSetup - Many statements was open at connection close:
com.mysql.jdbc.ServerPreparedStatement[13] - SELECT * FROM bonus_contract_include WHERE cid=2376
com.mysql.jdbc.ServerPreparedStatement[17] - SELECT * FROM bonus_contract_include WHERE cid=2487
com.mysql.jdbc.ServerPreparedStatement[40] - SELECT * FROM bonus_contract_include WHERE cid=3395
com.mysql.jdbc.ServerPreparedStatement[50] - SELECT * FROM bonus_contract_include WHERE cid=3757
com.mysql.jdbc.ServerPreparedStatement[63] - SELECT * FROM bonus_contract_include WHERE cid=4008
com.mysql.jdbc.ServerPreparedStatement[67] - SELECT * FROM bonus_contract_include WHERE cid=4203
com.mysql.jdbc.ServerPreparedStatement[77] - SELECT * FROM bonus_contract_include WHERE cid=4443
com.mysql.jdbc.ServerPreparedStatement[86] - SELECT * FROM bonus_contract_include WHERE cid=4482
com.mysql.jdbc.ServerPreparedStatement[89] - SELECT * FROM bonus_contract_include WHERE cid=4504
com.mysql.jdbc.ServerPreparedStatement[93] - SELECT * FROM bonus_contract_include WHERE cid=4601


И дальше много-много таких строчек. Источник ошибки - класс BonusDao, метод updatePluginInclude. Причина - одна и таже переменная ps используется для разных PreparedStatement.

Автор:  stark [ 25 ноя 2014, 13:35 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement

vkulakov писал(а):
Код:
Клиент: вер. 6.0 сборка 1357 от 08.11.2014 05:32:00
  os: Windows 7; java: Java HotSpot(TM) Client VM, v.1.7.0_71
Сервер: вер. 6.0 сборка 1807 от 07.11.2014 14:46:57
  os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_32
...
  ru.bitel.bgbilling.plugins.bonus вер. 6.0 сборка 135 от 26.08.2014 04:37:57


Код:
11-23/15:45:18 ERROR [pool-1-thread-1] DefaultServerSetup - Many statements was open at connection close:
com.mysql.jdbc.ServerPreparedStatement[13] - SELECT * FROM bonus_contract_include WHERE cid=2376
com.mysql.jdbc.ServerPreparedStatement[17] - SELECT * FROM bonus_contract_include WHERE cid=2487
com.mysql.jdbc.ServerPreparedStatement[40] - SELECT * FROM bonus_contract_include WHERE cid=3395
com.mysql.jdbc.ServerPreparedStatement[50] - SELECT * FROM bonus_contract_include WHERE cid=3757
com.mysql.jdbc.ServerPreparedStatement[63] - SELECT * FROM bonus_contract_include WHERE cid=4008
com.mysql.jdbc.ServerPreparedStatement[67] - SELECT * FROM bonus_contract_include WHERE cid=4203
com.mysql.jdbc.ServerPreparedStatement[77] - SELECT * FROM bonus_contract_include WHERE cid=4443
com.mysql.jdbc.ServerPreparedStatement[86] - SELECT * FROM bonus_contract_include WHERE cid=4482
com.mysql.jdbc.ServerPreparedStatement[89] - SELECT * FROM bonus_contract_include WHERE cid=4504
com.mysql.jdbc.ServerPreparedStatement[93] - SELECT * FROM bonus_contract_include WHERE cid=4601


И дальше много-много таких строчек. Источник ошибки - класс BonusDao, метод updatePluginInclude. Причина - одна и таже переменная ps используется для разных PreparedStatement.


Исправлено. Будет в следующих обновлениях.

Автор:  Cromeshnic [ 27 янв 2015, 08:21 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement (CRM)

ContractTariffOptionActivateManager - тут вообще всё плохо, куча Dao не закрывается, сам класс не Recyclable.
v 5.2

Код:
...
com.mysql.jdbc.PreparedStatement@521e3d26: SELECT * FROM  contract_tariff_option  WHERE id=909347
com.mysql.jdbc.PreparedStatement@30e364c9: SELECT * FROM  tariff_option  WHERE id=39
com.mysql.jdbc.PreparedStatement@4f2652c8: SELECT * FROM  contract_tariff_option  WHERE id=909349
com.mysql.jdbc.PreparedStatement@6f6e8125: SELECT * FROM  tariff_option  WHERE id=39
com.mysql.jdbc.PreparedStatement@31ed12e1: SELECT * FROM  contract_tariff_option  WHERE id=909351
com.mysql.jdbc.PreparedStatement@151cf186: SELECT * FROM  tariff_option  WHERE id=39
com.mysql.jdbc.PreparedStatement@166892a8: SELECT * FROM  contract_tariff_option  WHERE id=909355
com.mysql.jdbc.PreparedStatement@650eb3a3: SELECT * FROM  tariff_option  WHERE id=39
com.mysql.jdbc.PreparedStatement@22e96e84: SELECT * FROM  contract_tariff_option  WHERE id=909357
com.mysql.jdbc.PreparedStatement@67ba8e6c: SELECT * FROM  tariff_option  WHERE id=39
...

Автор:  Artur [ 27 янв 2015, 18:09 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement (CRM)

Здравствуйте!
Ничего не перепутано?

Автор:  stark [ 27 янв 2015, 19:03 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement (CRM)

Artur писал(а):
Здравствуйте!
Ничего не перепутано?

вроде бы нет, там действительно утекают ресурсы. Исправим.

Автор:  Artur [ 28 янв 2015, 14:22 ]
Заголовок сообщения:  Re: Незакрытые preparedStatement (CRM)

Cromeshnic писал(а):
ContractTariffOptionActivateManager - тут вообще всё плохо, куча Dao не закрывается, сам класс не Recyclable.
v 5.2


Готово. Класс теперь Recyclable. Будет в следующем обновлении.

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