forum.bitel.ru http://forum.bitel.ru/ |
|
5.2: Глюкнула база, помогите подчистить http://forum.bitel.ru/viewtopic.php?f=44&t=8679 |
Страница 1 из 1 |
Автор: | borisk [ 13 ноя 2013, 15:54 ] |
Заголовок сообщения: | 5.2: Глюкнула база, помогите подчистить |
Добрый день! В результате мелкого локального дизастера глюкнула база и нарушилась целостность. Теперь в accounting.log вот такие записи лезут. Где и что почистить в базе? Цитата: collector 11-13/15:42:33 ERROR [flow-p-6-t-9] SessionFlushingManager - Cannot find session with id=291167 in DB!
collector 11-13/15:42:33 ERROR [flow-p-6-t-9] FlowAgentInterface - com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '291167-12-23-4-17' for key 'PRIMARY' ru.bitel.bgbilling.common.BGException: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '291167-12-23-4-17' for key 'PRIMARY' at ru.bitel.bgbilling.modules.inet.accounting.SessionFlushingManager.flush(SessionFlushingManager.java:498) at ru.bitel.bgbilling.modules.inet.accounting.Accounting.sessionFinish(Accounting.java:1693) at ru.bitel.bgbilling.modules.inet.accounting.InetConnectionRuntime.splitSessionImpl(InetConnectionRuntime.java:1124) at ru.bitel.bgbilling.modules.inet.accounting.InetConnectionRuntime.splitSession(InetConnectionRuntime.java:1086) at ru.bitel.bgbilling.modules.inet.accounting.InetConnectionRuntime.trySplitSession(InetConnectionRuntime.java:971) at ru.bitel.bgbilling.modules.inet.accounting.FlowAgentInterface.processFlow(FlowAgentInterface.java:179) at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorker.processPacketImpl0(FlowListenerWorker.java:248) at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorker.processPacketImpl(FlowListenerWorker.java:141) at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorkerNetFlow.processPacket(FlowListenerWorkerNetFlow.java:29) at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorker.runImpl(FlowListenerWorker.java:58) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '291167-12-23-4-17' for key 'PRIMARY' at sun.reflect.GeneratedConstructorAccessor46.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:532) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.Util.getInstance(Util.java:386) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at ru.bitel.bgbilling.modules.inet.accounting.SessionFlushingManager.merge(SessionFlushingManager.java:941) at ru.bitel.bgbilling.modules.inet.accounting.SessionFlushingManager.flush(SessionFlushingManager.java:453) ... 14 more |
Автор: | zavndw [ 13 ноя 2013, 15:59 ] |
Заголовок сообщения: | Re: 5.2: Глюкнула база, помогите подчистить |
принудительно модуль воткнуть inet.zip! |
Автор: | Amir [ 13 ноя 2013, 16:05 ] |
Заголовок сообщения: | Re: 5.2: Глюкнула база, помогите подчистить |
Как будто при переносе записи из inet_session в inet_session_log она потом осталась в inet_session (при нормальной работе прямо в этой же тразакции из таблицы удаляется). Можно попробовать удалить из inet_session where id in (select id from inet_session_mid_201311). Посмотреть сколько таких: SELECT * FROM inet_session_mid as s LEFT JOIN inet_session_log_mid_201311 as l ON s.id=l.id WHERE l.id IS NOT NULL Удаление: DELETE s.* FROM inet_session_mid as s LEFT JOIN inet_session_log_mid_201311 as l ON s.id=l.id WHERE l.id IS NOT NULL После удаления надо будет перезапустить Access/Accounting Если в inet_session_log данные неправильные - наоборот, удалить оттуда, а также из inet_session_log_mid_detail_201311 и inet_session_log_mid_account_201311 с таким sessionId. Тогда Accounting должен корректно перенести сессии из inet_session в inet_session_log. |
Автор: | borisk [ 13 ноя 2013, 16:42 ] |
Заголовок сообщения: | Re: 5.2: Глюкнула база, помогите подчистить |
Спасибо! Вроде помогло, всего 4 таких было. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |