TerriaJS / de-australia-map

Digital Earth Australia platform developed for publishing Satellite Imagery processed by Geoscience Australia (GA) and National Computational Infrastructure (NCI)
http://de-australia.terria.io/
2 stars 1 forks source link

BoM SOS Stream Guages timeseries often does not work - BoM Tomcat OutOfMemoryError #59

Closed meh9 closed 2 years ago

meh9 commented 4 years ago

When trying to use the BoM Stream Guages data, when you click on a station on the map, the timeseries often shows the preview in the feature info popup, but when you click Expand you get a 500 Server Error 95% of the time.

E.g. this URL: https://maps.dea.ga.gov.au/#share=s-qPKEFkC0bO1Ztq99QLAMutiONmW

Clicking on the point (sometimes doesn't work, may have to click again):

Screen Shot 2020-08-26 at 13 36 45

When clicking Expand (usually doesn't work, but sometimes does):

Screen Shot 2020-08-26 at 13 37 09

Looking at what happens on the request, it's actually a Tomcat OutOfMemoryError:

<html><head><title>Apache Tomcat/6.0.24 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException: Servlet execution threw an exception
</pre></p><p><b>root cause</b> <pre>java.lang.OutOfMemoryError: unable to create new native thread
    java.lang.Thread.start0(Native Method)
    java.lang.Thread.start(Thread.java:714)
    sun.rmi.transport.DGCClient$EndpointEntry.&lt;init&gt;(DGCClient.java:266)
    sun.rmi.transport.DGCClient$EndpointEntry.lookup(DGCClient.java:237)
    sun.rmi.transport.DGCClient.registerRefs(DGCClient.java:155)
    sun.rmi.transport.ConnectionInputStream.registerRefs(ConnectionInputStream.java:94)
    sun.rmi.transport.StreamRemoteCall.releaseInputStream(StreamRemoteCall.java:156)
    sun.rmi.transport.StreamRemoteCall.done(StreamRemoteCall.java:312)
    sun.rmi.server.UnicastRef.done(UnicastRef.java:450)
    sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
    java.rmi.Naming.lookup(Naming.java:101)
    de.kisters.kiwis.datasource.wdp.WDPConnector.init(WDPConnector.java:97)
    de.kisters.kiwis.datasource.wdp.WDPConnectionPool.createWDPConnection(WDPConnectionPool.java:159)
    de.kisters.kiwis.datasource.wdp.WDPConnectionPool.getConnection(WDPConnectionPool.java:79)
    de.kisters.kiwis.main.KiWIS.getWDPConnection(KiWIS.java:1705)
    de.kisters.kiwis.services.sos2.wdp.WDPSOS2Operations.doSos2GetObservation(WDPSOS2Operations.java:108)
    de.kisters.kiwis.services.SOAPHandler.handleSOAPRequest(SOAPHandler.java:103)
    de.kisters.kiwis.main.KiWIS.doXMLPost(KiWIS.java:755)
    de.kisters.kiwis.main.KiWIS.doPost(KiWIS.java:673)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
</pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.24</h3></body></html>

This is actually a problem with the data service from BoM - we should raise it with them.

AnaBelgun commented 2 years ago

raised it with BoM