Hi
We have a separate DB machine, running mysql, and geonetwork connects to it. We are running GeoNetwork 2.4.1.
The DB had a hard outage – lasting about 15mins, from the logs it looks like geonetwork tried to reconnect 3 times, then gave up and didn’t give any intelligent output on the gui
The logs have been ‘over summarised’ – no stack traces in the db attempt connect snippet.
How can we make geonetwork keep trying to reconnect?
How can we make geonetwork tell the user that something has gone wrong in a more intelligent form? (our monitoring software – nagios should also be able to detect if its broken)
Regards,
Terry Rankine
2010-02-16 06:21:55,748 ERROR [jeeves.engine] - Raised exception while initializing resource. Skipped.
2010-02-16 06:21:55,750 ERROR [jeeves.engine] - Resource : main-db
2010-02-16 06:21:55,750 ERROR [jeeves.engine] - Provider : jeeves.resources.dbms.DbmsPool
2010-02-16 06:21:55,750 ERROR [jeeves.engine] - Exception : com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused
STACKTRACE:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
Last packet sent to the server was 1 ms ago.
2010-02-16 06:21:55,751 ERROR [jeeves.engine] - Message : Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused
STACKTRACE:
java.net.ConnectException: Connection refused
Last packet sent to the server was 1 ms ago.
2010-02-16 06:21:55,751 ERROR [jeeves.engine] - Stack : com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused
STACKTRACE:
java.net.ConnectException: Connection refused
Last packet sent to the server was 1 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2820)
at com.mysql.jdbc.Connection.(Connection.java:1553)
2010-02-16 06:21:56,417 ERROR [jeeves.engine] - Raised exception while starting appl handler. Skipped.
2010-02-16 06:21:56,417 ERROR [jeeves.engine] - Handler : org.fao.geonet.Geonetwork
2010-02-16 06:21:56,417 ERROR [jeeves.engine] - Exception : java.lang.NullPointerException
2010-02-16 06:21:56,417 ERROR [jeeves.engine] - Message : null
2010-02-16 06:21:56,417 ERROR [jeeves.engine] - Stack : java.lang.NullPointerException
at jeeves.server.resources.ResourceManager.open(ResourceManager.java:68)
at org.fao.geonet.Geonetwork.start(Geonetwork.java:88)
</ db-attempt-connect>
2010-02-16 08:30:29,141 ERROR [jeeves.service] - Exception when executing service
2010-02-16 08:30:29,155 ERROR [jeeves.service] - (C) Exc : java.lang.NullPointerException
2010-02-16 08:30:29,165 ERROR [jeeves.service] - Exception executing gui service : java.lang.NullPointerException
2010-02-16 08:30:29,166 ERROR [jeeves.service] - (C) Stack trace is :
java.lang.NullPointerException
at org.fao.geonet.guiservices.util.Env.exec(Env.java:53)
at jeeves.server.dispatchers.guiservices.Call.exec(Call.java:75)
at jeeves.server.dispatchers.AbstractPage.invokeGuiService(AbstractPage.java:119)
at jeeves.server.dispatchers.AbstractPage.invokeGuiServices(AbstractPage.java:103)
at jeeves.server.dispatchers.ServiceManager.dispatchError(ServiceManager.java:724)
at jeeves.server.dispatchers.ServiceManager.handleError(ServiceManager.java:465)
at jeeves.server.dispatchers.ServiceManager.dispatch(ServiceManager.java:410)
at jeeves.server.JeevesEngine.dispatch(JeevesEngine.java:621)
at jeeves.server.sources.http.JeevesServlet.execute(JeevesServlet.java:174)
at jeeves.server.sources.http.JeevesServlet.doGet(JeevesServlet.java:89)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:619)