Такое сообщение появляется при попытке "завершить (зависшее) соединение" в Мониторе соединений. У нас для каждого абонента - два соединения, одно от DHCP релея, на котором терминируется влан абонента и второе - от ISG BRAS'а, когда траффик абонента пытается выйти в интернет.
Ошибка происходит только когда я хочу сбросить DHCP сессию (например абонент сменил роутер и нужно с другим маком получить IP)
Проблемы начали возникать совсем недавно, похоже связано с началом подключений в новом районе. Понимаю - вопрос производительности, но что тюнить?
Иногда вылетает и такое:
javax.xml.ws.soap.SOAPFailtException: java.lang.NullPointerException.
Полный лог:
Код:
javax.xml.ws.soap.SOAPFaultException: java.lang.NullPointerException
at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:193)
at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:134)
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.$Proxy35.connectionFinish(Unknown Source)
at ru.bitel.bgbilling.modules.inet.api.client.monitor.InetMonitorPanel$10.actionPerformedImpl(InetMonitorPanel.java:410)
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.DelegateAction.actionPerformed(DelegateAction.java:21)
at ru.bitel.common.client.BGSwingUtilites$1.actionPerformed(BGSwingUtilites.java:178)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(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$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.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)
Caused by: java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.api.server.service.InetSessionServiceImpl.connectionFinish(InetSessionServiceImpl.java:249)
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.bgbilling.kernel.container.service.server.ServiceInfo.invoke(ServiceInfo.java:101)
at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke(AbstractJaxWsHandler.java:244)
at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler.access$1(JaxWsHandler.java:1)
at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler$2.run(JaxWsHandler.java:336)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler.invoke(JaxWsHandler.java:330)
at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$ServiceInstanceResolver$1.invoke(AbstractJaxWsHandler.java:356)
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.common.server.JaxWSAdapter.handle(JaxWSAdapter.java:388)
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 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:312)
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)
В это же время accounting_status показывает:
Код:
./accounting_status.sh
Java Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM [1.7.0_65] /opt/java/jdk1.7.0_65/jre
Runtime name: 23833@XXX
Java endorsed dirs: /lib/endorsed:/opt/java/jdk/lib/endorsed
OS: Linux 2.6.32-5-amd64 [amd64], file.encoding: ISO-8859-1, user.name: root
Heap sizes: current=92160k free=90654k max=1363456k
Kernel version 6.1.949 / 22.08.2014 15:53:24
Inet version 6.1.575 / 20.08.2014 19:03:26
Radius:
accounting-requests per minute start: 0; stop: 0; update: 18
access-requests per minute accept: 0; reject: 0
ignore per minute access-request: 0; accounting-update: 0
Started: 05.09.2014 16:36:18 Uptime: 2 d 22:27:54
Memory total: 130 547 712; max: 477 102 080; free: 60 992 312
Memory pools:
Non-heap memory[Code Cache]: max: 50 331 648; used: 5 428 480; peek: 5 439 232
Heap memory[PS Eden Space]: max: 175 112 192; used: 10 362 072; peek: 160 432 128
Heap memory[PS Survivor Space]: max: 524 288; used: 360 448; peek: 4 097 384
Heap memory[PS Old Gen]: max: 357 564 416; used: 58 832 880; peek: 95 741 664
Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 29 948 928; peek: 29 948 928
Thread count: 89
Trees in cache: 0
Connections pool to Master status Idle: 6; Active: 0; maxActive: 300; maxIdle: 20
В конф файлах Access'ов и Accounting'а:
Код:
<param name="threadCount">50</param>
<param name="maxQueueSize">300</param>