|
|
|||
|
||||
THREDDS Data Server FAQ
Q: What do the non-HTTP status codes in the threddsServlet.log files mean?
The "Request Completed" messages in the
threddsServlet.logfiles contain several fields including a status code. the HTTP status code returned in a completed response. If a request is forwarded to another internal service, a "1000 (Forwarded)" or "1001 (2009-06-17T13:25:54.451 -0600 [ 28949][ 11] INFO - thredds.server.catalogservice.LocalCatalogServiceController - handlePublicDocumentRequest(): Request Completed - 1001 - -1 - 32
Q: I'm seeing the error "Inconsistent array length read: 538976288 != 1668244581' when I open the dataset in the IDV. Why?
The error "Inconsistent array length read" only tells you that there was an error on the server in the middle of responding to an OPeNDAP request. You then must look in the threddsServlet.log and find the error to know why.
Q: Im getting the error "java.lang.OutOfMemoryError: PermGen space". Whats up?
If you reload the thredds.war webapp enough times without restarting Tomcat, you will eventually run into "java.lang.OutOfMemoryError: PermGen space". This is a known bug in JDK/Tomcat. The only thing to do is to stop and restart Tomcat.
You can increase PermGen using this JVM option:
-XX:MaxPermSize=128m
On the JDK1.6 -server JVM, the default seems to be 64m. However, with enough redeploys , you will eventually run out of PermGen space no matter what your MaxPermSize setting is. We have gotten into the habit of restarting tomcat on our production server whenever we redeploy. Lots of redeploys only happen on our test server.
Resources:
- "Classloader leaks" (sun blog) (2006-10-16)
- "Return of the PermGen" (2007-09-29)
- "PermGen Strikes Back" (2007-03-15)
- "Good Riddance PermGen OutOfMemoryError" (2007-03-13)
Q: Who is accessing my server?
When you examine the TDS access logs, you can see who is accessing the TDS by IP address. Use nslookup <ip address> to find out the host name.
Q: How can I control whether I want Web crawlers to access my server?
Well-behaved web crawlers are supposed to look for a robots.txt file on the server and follow its instructions. To set up a robots.txt file that excludes web crawlers from crawling your server, follow these directions.
Q: How can I prevent someone from accessing my server?
If you want to prevent some annoying person from accessing your server, its best to exclude them using their IP address, to avoid having to do a reverse DNS lookup for each request. To do so, edit ${tomcat_home}/conf/server.xml, find the following section and add the following Valve element:
<Host name="localhost" debug="0" appBase="webapps" .. > <Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="18.83.0.150" /> ... </Host>You can use lists of IP addresses as well as wildcards:
- deny="18.83.0.150, 128.100.34.99, 128.117.140.*"
You need to restart the server before this will take effect.
Q: How do I remove Servlet Autodeploy?
Its recommendded to remove autodetection of changes while Tomcat is running, for performance reasons. In a production environment, its better to explicitly redeploy the application:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false"> ... </Host>
Q: How do I remove port 8009 when using tomcat in standalone mode:
Unless you are using Tomcat with the Apache server, comment out this line in server.xml:
<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
This document is maintained by Unidata and was last updated Oct 2009.
Send comments to THREDDS support.
| Contact Us Site Map Search Terms and Conditions Privacy Policy Participation Policy | |||||
|
|||||