forum.bitel.ru http://forum.bitel.ru/ |
|
Many statements was open at connection close http://forum.bitel.ru/viewtopic.php?f=44&t=7082 |
Страница 1 из 1 |
Автор: | madmax [ 10 авг 2012, 11:24 ] |
Заголовок сообщения: | Many statements was open at connection close |
В ошибках accounting появляется запись Код: collector 08-10/00:00:00 ERROR [flow-p-9-t-4] DefaultServerSetup - Many statements was open at connection close:
com.mysql.jdbc.JDBC4PreparedStatement@15dd4b30: INSERT INTO inet_session_log_13_201208 (id, connectionId, parentConnectionId, parentId, splittedId, deviceId, devicePort, agentDeviceId, acctSessionI d, username, realm, type, servId, calledStationId, callingStationId, ipResourceId, ipAddress, connectionStart, sessionStart, sessionStop, lastActive, deviceState, deviceOptions, sessionTime, sessio nCost, status) SELECT session.id, connection.id, connection.parentId, session.parentId, session.splittedId, connection.deviceId, connection.devicePort, connection.agentDeviceId, connection.acctSess ionId, connection.username, null, connection.type, connection.servId, connection.calledStationId, connection.callingStationId, connection.ipResourceId, connection.ipAddress, connection.connectionSt art, session.sessionStart, session.sessionStop, session.lastActive, session.deviceState, connection.deviceOptions, session.sessionTime, session.sessionCost, session.status FROM inet_session_13 as s ession LEFT JOIN inet_connection_13 as connection ON connection.id=session.connectionId AND connection.deviceId=2 WHERE session.id=5801 AND session.connectionId=5927 com.mysql.jdbc.JDBC4PreparedStatement@73734786: DELETE FROM inet_session_13 WHERE id=5801 AND connectionId=5927 com.mysql.jdbc.JDBC4PreparedStatement@155ce9a1: INSERT INTO inet_session_log_detail_13_201208 SELECT * FROM inet_session_detail_13 WHERE sessionId=5801 com.mysql.jdbc.JDBC4PreparedStatement@6ee53fc: DELETE FROM inet_session_detail_13 WHERE sessionId=5801 com.mysql.jdbc.JDBC4PreparedStatement@8cbc8f2: INSERT INTO inet_session_log_account_13_201208 SELECT * FROM inet_session_account_13 WHERE sessionId=5801 AND contractId=44009 com.mysql.jdbc.JDBC4PreparedStatement@7af58c60: DELETE FROM inet_session_account_13 WHERE sessionId=5801 AND contractId=44009 com.mysql.jdbc.JDBC4PreparedStatement@ed331b1: INSERT INTO inet_session_log_route_13_201208 (sessionId, subnet, mask) SELECT 5801, subnet, mask FROM inet_connection_route_13 WHERE connectionId=5927 com.mysql.jdbc.JDBC4PreparedStatement@4b636311: DELETE FROM inet_connection_13 WHERE id=** NOT SPECIFIED ** AND deviceId=** NOT SPECIFIED ** com.mysql.jdbc.JDBC4PreparedStatement@e8bb762: INSERT INTO inet_session_13 (parentId, splittedId, connectionId, sessionStart, sessionStop, lastActive, sessionTime, sessionCost, deviceState, status) VALUES (0,5801,5927,'2012-08-10 00:00:00',null,'2012-08-10 00:00:00',0,0,1,1) com.mysql.jdbc.JDBC4PreparedStatement@4565105e: INSERT INTO inet_session_log_13_201208 (id, connectionId, parentConnectionId, parentId, splittedId, deviceId, devicePort, agentDeviceId, acctSession и т.д |
Автор: | madmax [ 10 авг 2012, 21:46 ] |
Заголовок сообщения: | Re: Many statements was open at connection close |
Вот еще, теперь только в access.error.log connection 08-10/20:00:25 ERROR [sa-p-10-t-2] DefaultServerSetup - Many statements was open at connection close: com.mysql.jdbc.JDBC4PreparedStatement@97b275b: INSERT INTO connection_log_entry_13_201208 (applicationId, deviceId, devicePort, connectionId, time, acctSessId, type, requestDataLogId, requestChunkI d, requestPosition, responseDataLogId, responseChunkId, responsePosition) VALUES (3,2,56,5832,'2012-08-10 20:00:15','4505339-q-56',3,0,1,3078,-1,-1,-1) com.mysql.jdbc.JDBC4PreparedStatement@132424db: INSERT INTO connection_log_entry_13_201208 (applicationId, deviceId, devicePort, connectionId, time, acctSessId, type, requestDataLogId, requestChunk Id, requestPosition, responseDataLogId, responseChunkId, responsePosition) VALUES (3,2,148,6288,'2012-08-10 20:00:15','4585945-q-148',3,0,1,3449,-1,-1,-1) com.mysql.jdbc.JDBC4PreparedStatement@401b80c3: INSERT INTO connection_log_entry_13_201208 (applicationId, deviceId, devicePort, connectionId, time, acctSessId, type, requestDataLogId, requestChunk Id, requestPosition, responseDataLogId, responseChunkId, responsePosition) VALUES (3,2,130,5941,'2012-08-10 20:00:15','4505352-q-130',3,0,1,3849,-1,-1,-1) com.mysql.jdbc.JDBC4PreparedStatement@3a7bc66e: INSERT INTO connection_log_entry_13_201208 (applicationId, deviceId, devicePort, connectionId, time, acctSessId, type, requestDataLogId, requestChunk Id, requestPosition, responseDataLogId, responseChunkId, responsePosition) VALUES (3,2,55,6327,'2012-08-10 20:00:15','4597923-q-55',3,0,1,4249,-1,-1,-1) com.mysql.jdbc.JDBC4PreparedStatement@7df766ae: INSERT INTO connection_log_entry_13_201208 (applicationId, deviceId, devicePort, connectionId, time, acctSessId, type, requestDataLogId, requestChunk |
Автор: | Amir [ 13 авг 2012, 14:00 ] |
Заголовок сообщения: | Re: Many statements was open at connection close |
Выложили обновление. |
Автор: | madmax [ 01 сен 2012, 18:31 ] |
Заголовок сообщения: | Re: Many statements was open at connection close |
Еще появились ошибки Код: com.mysql.jdbc.JDBC4PreparedStatement@2f689122: INSERT INTO inet_session_13 (parentId, splittedId, connectionId, sessionStart, sessionStop, lastActive, sessionTime, sessionCost, deviceState, status
) VALUES (0,62871,57646,'2012-08-31 00:00:00',null,'2012-08-31 00:00:00',0,0,1,1) com.mysql.jdbc.JDBC4PreparedStatement@4cdf195d: INSERT INTO inet_session_13 (parentId, splittedId, connectionId, sessionStart, sessionStop, lastActive, sessionTime, sessionCost, deviceState, status ) VALUES (0,62741,57516,'2012-08-31 00:00:00',null,'2012-08-31 00:00:00',0,0,1,1) com.mysql.jdbc.JDBC4PreparedStatement@6f39c888: INSERT INTO inet_session_13 (parentId, splittedId, connectionId, sessionStart, sessionStop, lastActive, sessionTime, sessionCost, deviceState, status ) VALUES (0,62786,57561,'2012-08-31 00:00:00',null,'2012-08-31 00:00:00',0,0,1,1) java.lang.RuntimeException at ru.bitel.bgbilling.server.util.DefaultServerSetup$2$1.close(DefaultServerSetup.java:480) at ru.bitel.bgbilling.server.util.PoolGuardConnectionWrapper.close(PoolGuardConnectionWrapper.java:47) at ru.bitel.common.sql.ConnectionSet.recycle(ConnectionSet.java:261) at ru.bitel.bgbilling.kernel.container.managed.ServerContext.recycle(ServerContext.java:366) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:103) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) |
Автор: | Amir [ 03 сен 2012, 18:22 ] |
Заголовок сообщения: | Re: Many statements was open at connection close |
Выложили. |
Автор: | iseed [ 02 окт 2016, 09:04 ] |
Заголовок сообщения: | Re: Many statements was open at connection close |
Доброго дня. Хотел бы апнуть тему. Имею Сервер: вер. 6.1.1177 / 19.08.2016 11:58:42 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_80 Выполняю: <pre> Contract contract = new Contract(); manager = "SELECT id from contract LIMIT LIMIT ?,?"; preparedStatement = this.con.prepareStatement(manager); preparedStatement.setInt(1, offset); preparedStatement.setInt(1, limit); while(rs.next()) { int contract_id = rs.getInt("id"); contract = manager1.getContractById(contract_id); } </pre> Получаю ошибку в логи сервера: --- com.mysql.jdbc.ServerPreparedStatement[1905] - SELECT * FROM contract WHERE id=73681 com.mysql.jdbc.ServerPreparedStatement[1908] - SELECT * FROM contract WHERE id=73918 com.mysql.jdbc.ServerPreparedStatement[1911] - SELECT * FROM contract WHERE id=74068 com.mysql.jdbc.ServerPreparedStatement[1914] - SELECT * FROM contract WHERE id=74293 com.mysql.jdbc.ServerPreparedStatement[1917] - SELECT * FROM contract WHERE id=74450 com.mysql.jdbc.ServerPreparedStatement[1920] - SELECT * FROM contract WHERE id=74494 com.mysql.jdbc.ServerPreparedStatement[1923] - SELECT * FROM contract WHERE id=74617 com.mysql.jdbc.ServerPreparedStatement[1926] - SELECT * FROM contract WHERE id=74658 com.mysql.jdbc.ServerPreparedStatement[1929] - SELECT * FROM contract WHERE id=74763 com.mysql.jdbc.ServerPreparedStatement[1932] - SELECT * FROM contract WHERE id=75117 com.mysql.jdbc.ServerPreparedStatement[1935] - SELECT * FROM contract WHERE id=75165 java.lang.RuntimeException at ru.bitel.bgbilling.server.util.DefaultServerSetup$2$1.close(DefaultServerSetup.java:417) at ru.bitel.bgbilling.server.util.PoolGuardConnectionWrapper.close(PoolGuardConnectionWrapper.java:48) at ru.bitel.common.sql.ConnectionSet.recycle(ConnectionSet.java:272) at ru.bitel.bgbilling.kernel.base.server.DefaultContext.destroy(DefaultContext.java:37) at ru.bitel.bgbilling.kernel.container.managed.ServerContext.destroy(ServerContext.java:400) at bitel.billing.server.ActionBase.freeConnection(ActionBase.java:180) at bitel.billing.server.Executer.doModule(Unknown Source) at bitel.billing.server.Executer$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at bitel.billing.server.Executer.doPost(Unknown Source) 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.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:54) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) --- Насколько видно из обсуждения проблема может быть вот здесь: http://joxi.ru/p27OWpat0a5Zy2 Отсутствует закрывающий метод для statement . Возможно ли поправить для моей версии сервера данную ошибку? |
Автор: | Amir [ 03 окт 2016, 20:40 ] |
Заголовок сообщения: | Re: Many statements was open at connection close |
Он там кэшируется. Если использовать один и тот же ContractManager в цикле - должно быть нормально. Если нет возможности - вызывать после его использования contractManager.recycle(). |
Автор: | stark [ 03 окт 2016, 21:04 ] |
Заголовок сообщения: | Re: Many statements was open at connection close |
Вот есть есть про это тема еще : https://forum.bitel.ru/viewtopic.php?f=22&t=7369 |
Автор: | iseed [ 05 окт 2016, 13:59 ] |
Заголовок сообщения: | Re: Many statements was open at connection close |
Добавил manager1.recycle() Ошибка не ушла. --- 10-05/14:52:33 ERROR [http-bio-0.0.0.0-8080-exec-5] DefaultServerSetup - Many statements was open at connection close: com.mysql.jdbc.ServerPreparedStatement[348] - SELECT * FROM contract WHERE id=26817 com.mysql.jdbc.ServerPreparedStatement[363] - SELECT * FROM contract WHERE id=16062 com.mysql.jdbc.ServerPreparedStatement[366] - SELECT * FROM contract WHERE id=18133 ---skip--- java.lang.RuntimeException at ru.bitel.bgbilling.server.util.DefaultServerSetup$2$1.close(DefaultServerSetup.java:417) at ru.bitel.bgbilling.server.util.PoolGuardConnectionWrapper.close(PoolGuardConnectionWrapper.java:48) at ru.bitel.common.sql.ConnectionSet.recycle(ConnectionSet.java:272) at ru.bitel.bgbilling.kernel.base.server.DefaultContext.destroy(DefaultContext.java:37) at ru.bitel.bgbilling.kernel.container.managed.ServerContext.destroy(ServerContext.java:400) at bitel.billing.server.ActionBase.freeConnection(ActionBase.java:180) --- Приводу полный листинг action Буду благодарен если подскажете где еще может быть ошибка. --- import bitel.billing.server.ActionBase; --- |
Автор: | Amir [ 10 окт 2016, 20:26 ] |
Заголовок сообщения: | Re: Many statements was open at connection close |
Дело скорее всего в BalanceUtils, который создается в цикле: Код: BalanceUtils balance_utils1 = new BalanceUtils(this.con);
BigDecimal contract_balance1 = balance_utils1.getBalance(currentDate, contract_id); |
Автор: | iseed [ 13 окт 2016, 11:17 ] |
Заголовок сообщения: | Re: Many statements was open at connection close |
Вы правы. Проблема решена после выноса из цикла BalanceUtils. Спасибо за помощь. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |