NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

Re: [thredds] ncWMS GetCapabilities return sometimes empty document

Hi,

finally, I managed to generate a simple case how to reproduce this error:

a) start tomcat
b) abort fetching some maps (3-4 times on a tomcat with
10thredds/HTTP1.1 connector), i.e. call
GET
'http://localhost:8081/thredds/wms/data/met.no/hirlam12/wam_nsea.fc.20090604.nc?REQUEST=GetMap&LAYERS=significant_wave_height&PALETTE=redblue&SERVICE=WMS&FORMAT=image/png&VERSION=1.3.0&CRS=EPSG:4326&BBOX=-30,-60,30,90&WIDTH=400&HEIGHT=400&STYLES=BOXFILL/ncview'
> /dev/null
and abort this call before it is finished. (Ctrl-C)
c) get some 'getCapabilities' documents:
while [ 1 ]; do GET
'http://localhost:8081/thredds/wms/data/met.no/hirlam12/wam_nsea.fc.20090604.nc?service=WMS&version=1.3.0&request=GetCapabilities'
> testCap.xml; ls -l testCap.xml; done
...
-rw-r--r-- 1 heikok heikok 172126 2010-03-05 12:11 testCap.xml
-rw-r--r-- 1 heikok heikok 172126 2010-03-05 12:11 testCap.xml
-rw-r--r-- 1 heikok heikok 172126 2010-03-05 12:11 testCap.xml
-rw-r--r-- 1 heikok heikok 0 2010-03-05 12:11 testCap.xml
-rw-r--r-- 1 heikok heikok 172126 2010-03-05 12:11 testCap.xml
-rw-r--r-- 1 heikok heikok 172126 2010-03-05 12:11 testCap.xml


When the capabilites document with 0 byte size is fetched, the earlier
mentioned exception is thrown.


Since step b) is the crucial step to reproduce the 0 byte document, I
guess there is somewhere a badly caught ClientAbortException/IOException
when writing to the responses OutputStream, leaving a tomcat-thread in
an invalid state.


We can solve this problem currently by adding a proxy in front of
thredds (apache mod_proxy) which seems to swallow all
client-connection-aborts before they reach tomcat.

Best regards,

Heiko

On 2010-02-19 16:54, Heiko Klein wrote:
> Hi,
> 
> I'm still trying to track down this problem, so here a short update:
> 
> The ncWMS/TDS crashes seems to be connected to concurrency: The problem
> occurs when reloading the wms-client (openlayers in firefox), that means
> GetCapabilites and GetMap are run in parallel. We're downloading tiles,
> so reloading will fetch one capability doc + approx 12 maps.
> 
> * If I configure tomcat to only use one thread, and use the default
> 'HTTP/1.1' connector, the problem disappears (but response-times are
> very slow).
> * Using 4 threads + 'HTTP/1.1', the problem appears very fast. (one or
> two reloads)
> * Using the 'Nio' connector and 4 threads, the problem appears, but not
> so fast (3-4 reloads)
> * Using the 'Nio' connector with only one thread, is about the same as
> Nio with several threads.
> 
> 
> Best regards,
> 
> Heiko
> 
> _______________________________________________
> thredds mailing list
> thredds@xxxxxxxxxxxxxxxx
> For list information or to unsubscribe,  visit: 
> http://www.unidata.ucar.edu/mailing_lists/ 

-- 
Dr. Heiko Klein                              Tel. + 47 22 96 30 00
Development Section / IT Department          Fax. + 47 22 69 63 55
Norwegian Meteorological Institute           http://www.met.no
P.O. Box 43 Blindern  0313 Oslo NORWAY



  • 2010 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the thredds archives: