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: