aodn / content

Tracks AODN Portal content and configuration issues
0 stars 0 forks source link

SOOP TMV NRT in health bad - possible filter issue #408

Closed lbesnard closed 5 years ago

lbesnard commented 5 years ago

The following collection https://portal.aodn.org.au/search?uuid=d24d26cc-cd8c-4c5b-94e5-809051043d7e is in health bad. I suspect the TIME filter to be an issue as it doesn't appear in the subset tab of step 2. However I don't see what is the issue.

lbesnard commented 5 years ago

Also, the collection runs well on https://portal-rc.aodn.org.au/search?uuid=d24d26cc-cd8c-4c5b-94e5-809051043d7e

This highlights another difference between prod/rc

lbesnard commented 5 years ago

@ggalibert It's more up to dev's to look at this. It's working fine on RC

jonescc commented 5 years ago

Looks like we're getting a 'no default style' message for this layer in production when trying to create the getCapabilities element for it. I believe we're running squid instead of geowebcache in RC which is why we get a different result there.

jonescc commented 5 years ago

GeoWebcache uses the GetCapabilities statement to work out what layers are available in geoserver. Only requests for layers geowebcache knows about can be proxied to geoserver by geowebcache. Currently getFiltters request coming from the portal go through geowebcache using the data layer which is why this isn't working in production. To fix this you can add a default style to the data layer.

jonescc commented 5 years ago

@lwgordonimos - note that this will be an issue when we come to look at turning off wms for data layers using 2.15

ghost commented 5 years ago

@lbesnard the imos:soop_tmv_nrt_trajectory_data layer is horribly slow, and appears to be because visualisation_wms has no primary key, making the view require a sequential scan for any query. I don't think it's directly related to the bad health, however it makes it practically unusable, so is kind of related to this layer being "bad".

EDIT: just noticed that table only has a handful of rows, so may not be entirely that, in any case, the following request results in a query that does not complete in an acceptable time. The maxFeatures=1 should produce a response pretty much immediately, otherwise it indicates an issue with the underlying database view structure/indexes etc.

geoserver/imos/wfs?typeName=imos:soop_tmv_nrt_trajectory_data&SERVICE=WFS&version=1.0.0&request=GetFeature&maxFeatures=1&outputFormat=csv

explain SELECT "file_id","vessel_name","measurement","TIME","LATITUDE","LONGITUDE","NOMINAL_DEPTH","CPHL","PSAL","TEMP","TURB","CPHL_b","PSAL_b","TEMP_b","TURB_b",encode(ST_AsEWKB("geom"),'base64') as "geom"
FROM "soop_tmv"."soop_tmv_nrt_trajectory_data"
LIMIT 1
;
"Limit  (cost=0.43..29.41 rows=1 width=113)"
"  ->  Subquery Scan on soop_tmv_nrt_trajectory_data  (cost=0.43..16750270.32 rows=578182 width=113)"
"        ->  Nested Loop  (cost=0.43..16728588.49 rows=578182 width=121)"
"              Join Filter: (measurements.file_id = visualisation_wms.file_id)"
"              ->  Index Scan using measurements_idx on measurements  (cost=0.43..881915.75 rows=10060370 width=88)"
"              ->  Materialize  (cost=0.00..144.80 rows=105 width=29)"
"                    ->  Seq Scan on visualisation_wms  (cost=0.00..144.27 rows=105 width=29)"
"                          Filter: realtime"
lbesnard commented 5 years ago

@lwgordonimos @ccmoloney

This layer: https://portal.aodn.org.au/search?uuid=d24d26cc-cd8c-4c5b-94e5-809051043d7e

is still in health bad. However it seems to be working fine. Any idea why ?

kereid commented 5 years ago

For quick reference (if it helps) the content of the Sumo notification email that came through thismorning at 1:01am so it hasn't been on the "bad list" the entire time

Hmm have pasted and it looks yucky but good for a record at least

Saved Search Data collections transitioning to bad health Search String _sourceName="/mnt/ebs/tomcat7/geonetwork_portal/logs/catalina.out" AND "monitor.onlineresource" "to 'FAILED'"_sourceName="/mnt/ebs/tomcat7/geonetwork_portal/logs/catalina.out"\ parse "title=*changes" as title \ parse "Reason/s=*" as Reason nodrop \ count title, Reason \ sort by _count Time Range 04/10/2019 12:45:00 AM AEST to 04/10/2019 01:00:00 AM AEST Run Frequency Every 15 minutes Notification Threshold Greater than 0 Run At 04/10/2019 01:01:03 AM AEST Scheduled By AODN Developers developers@emii.org.au Saved Search Data collections transitioning to bad health Search String _sourceName="/mnt/ebs/tomcat7/geonetwork_portal/logs/catalina.out" AND "monitor.onlineresource" "to 'FAILED'"_sourceName="/mnt/ebs/tomcat7/geonetwork_portal/logs/catalina.out"\ parse "title=*changes" as title \ parse "Reason/s=*" as Reason nodrop \ count title, Reason \ sort by _count Time Range 04/10/2019 12:45:00 AM AEST to 04/10/2019 01:00:00 AM AEST Run Frequency Every 15 minutes Notification Threshold Greater than 0 Run At 04/10/2019 01:01:03 AM AEST Scheduled By AODN Developers developers@emii.org.au
Saved Search Data collections transitioning to bad health
Search String _sourceName="/mnt/ebs/tomcat7/geonetwork_portal/logs/catalina.out" AND "monitor.onlineresource" "to 'FAILED'"_sourceName="/mnt/ebs/tomcat7/geonetwork_portal/logs/catalina.out"| parse "title=changes" as title | parse "Reason/s=" as Reason nodrop | count title, Reason | sort by _count
Time Range 04/10/2019 12:45:00 AM AEST to 04/10/2019 01:00:00 AM AEST
Run Frequency Every 15 minutes
Notification Threshold Greater than 0
Run At 04/10/2019 01:01:03 AM AEST
Scheduled By AODN Developers developers@emii.org.au

Message Distribution (View results in Sumo Logic)   |     Result Set Displaying 1 out of 1 or more results. Click here to view full results in Sumo Logic.

Count reason title 1 1 [WFS GetFeature request results in exception for uuid='d24d26cc-cd8c-4c5b-94e5-809051043d7e', url='http://geoserver-portal-internal.aodn.org.au/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&maxFeatures=1&outputFormat=csv&typeName=soop_tmv_nrt_trajectory_data', error='Read timed out' stack=' java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:171) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at org.fao.geonet.monitor.onlineresource.OnlineResourceCheckerWfs.check(OnlineResourceCheckerWfs.java:36) at org.fao.geonet.monitor.onlineresource.CheckInfo.(http://CheckInfo.java:9) at org.fao.geonet.monitor.onlineresource.OnlineResourceInfo.check(OnlineResourceInfo.java:93) at org.fao.geonet.monitor.onlineresource.MetadataRecordInfo.check(MetadataRecordInfo.java:117) at org.fao.geonet.monitor.onlineresource.OnlineResourceMonitorService.check(OnlineResourceMonitorService.java:227) at org.fao.geonet.monitor.onlineresource.OnlineResourceMonitorService.run(OnlineResourceMonitorService.java:106) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) '] 'IMOS - SOOP-Temperate Merchant Vessel (TMV) sub-facility - Data collected on the Spirit of Tasmania I during transect between Melbourne and Devonport (Near real-time)' | # | Count | reason | title | 1 | 1 | [WFS GetFeature request results in exception for uuid='d24d26cc-cd8c-4c5b-94e5-809051043d7e', url='http://geoserver-portal-internal.aodn.org.au/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&maxFeatures=1&outputFormat=csv&typeName=soop_tmv_nrt_trajectory_data', error='Read timed out' stack=' java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:171) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at org.fao.geonet.monitor.onlineresource.OnlineResourceCheckerWfs.check(OnlineResourceCheckerWfs.java:36) at org.fao.geonet.monitor.onlineresource.CheckInfo.(http://CheckInfo.java:9) at org.fao.geonet.monitor.onlineresource.OnlineResourceInfo.check(OnlineResourceInfo.java:93) at org.fao.geonet.monitor.onlineresource.MetadataRecordInfo.check(MetadataRecordInfo.java:117) at org.fao.geonet.monitor.onlineresource.OnlineResourceMonitorService.check(OnlineResourceMonitorService.java:227) at org.fao.geonet.monitor.onlineresource.OnlineResourceMonitorService.run(OnlineResourceMonitorService.java:106) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) '] | 'IMOS - SOOP-Temperate Merchant Vessel (TMV) sub-facility - Data collected on the Spirit of Tasmania I during transect between Melbourne and Devonport (Near real-time)'

| Count | reason | title

1 | 1 | [WFS GetFeature request results in exception for uuid='d24d26cc-cd8c-4c5b-94e5-809051043d7e', url='http://geoserver-portal-internal.aodn.org.au/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&maxFeatures=1&outputFormat=csv&typeName=soop_tmv_nrt_trajectory_data', error='Read timed out' stack=' java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:171) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at org.fao.geonet.monitor.onlineresource.OnlineResourceCheckerWfs.check(OnlineResourceCheckerWfs.java:36) at org.fao.geonet.monitor.onlineresource.CheckInfo.(http://CheckInfo.java:9) at org.fao.geonet.monitor.onlineresource.OnlineResourceInfo.check(OnlineResourceInfo.java:93) at org.fao.geonet.monitor.onlineresource.MetadataRecordInfo.check(MetadataRecordInfo.java:117) at org.fao.geonet.monitor.onlineresource.OnlineResourceMonitorService.check(OnlineResourceMonitorService.java:227) at org.fao.geonet.monitor.onlineresource.OnlineResourceMonitorService.run(OnlineResourceMonitorService.java:106) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) '] | 'IMOS - SOOP-Temperate Merchant Vessel (TMV) sub-facility - Data collected on the Spirit of Tasmania I during transect between Melbourne and Devonport (Near real-time)'

kereid commented 5 years ago

Sorry really really yucky LOL!

lbesnard commented 5 years ago

also, it doesn't look possible to get any data in the hobart to sydney transect. Step 3 greys out the download option although step 2 shows there is data to be downloaded

ghost commented 5 years ago

It will be in bad health until the layer responds in a timely fashion to this request:

$ wget "http://geoserver-portal-internal.aodn.org.au/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&maxFeatures=1&outputFormat=csv&typeName=soop_tmv_nrt_trajectory_data"
--2019-04-10 15:59:11--  http://geoserver-portal-internal.aodn.org.au/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&maxFeatures=1&outputFormat=csv&typeName=soop_tmv_nrt_trajectory_data
Resolving geoserver-portal-internal.aodn.org.au (geoserver-portal-internal.aodn.org.au)... 172.31.15.121, 172.31.38.200
Connecting to geoserver-portal-internal.aodn.org.au (geoserver-portal-internal.aodn.org.au)|172.31.15.121|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/csv]
Saving to: ‘ows?service=WFS&version=1.0.0&request=GetFeature&maxFeatures=1&outputFormat=csv&typeName=soop_tmv_nrt_trajectory_data’

ows?service=WFS&version=1.0.0&request=GetFeature&maxFeature     [ <=>                                                                                                                                      ]     336  --.-KB/s    in 0s      

2019-04-10 16:01:45 (34.2 MB/s) - ‘ows?service=WFS&version=1.0.0&request=GetFeature&maxFeatures=1&outputFormat=csv&typeName=soop_tmv_nrt_trajectory_data’ saved [336]
ccmoloney commented 5 years ago

Yep - in the online resource monitor checks are reporting this:

[org.fao.geonet.monitor.onlineresource.MetadataRecordInfo] - Record uuid='d24d26cc-cd8c-4c5b-94e5-809051043d7e' title='IMOS - SOOP-Temperate Merchant Vessel (TMV) sub-facility - Data collected on the Spirit of Tasmania I during transect between Melbourne and Devonport (Near real-time)' changes status from 'UNKNOWN' to 'FAILED'. Reason/s= [WFS GetFeature request results in exception for uuid='d24d26cc-cd8c-4c5b-94e5-809051043d7e', url='http://geoserver-portal-internal.aodn.org.au/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&maxFeatures=1&outputFormat=csv&typeName=soop_tmv_nrt_trajectory_data', error='Read timed out' stack=' java.net.SocketTimeoutException: Read timed out

ghost commented 5 years ago

Re the download thing, it's not what I initially thought, because the getFeatureCount is returning non-zero, so might need to get a Portal guru to see what's going on there.

lbesnard commented 5 years ago

https://github.com/aodn/harvesters/pull/711