I'm not the system administrator for this server but I'm trying to help the group who are sys admins to find a fix quickly. For this reason, I don't have access to all of the server configuration files.
With that out of the way, here's my question:
This is regarding a Java EE application on a Solaris machine with Sun Java System Web Server 6.1 and Sun Java System Application Server 8.1. The web server is acting as a proxy for requests going to the application server. My understanding is that it's also set up as a load balancer, though it only points to one application instance so it seems there's nothing to balance.
When making requests through the proxy to the application, we're intermittently seeing a purple/blue page that says the following:
Due to a temporary error the request could not be serviced. The problem could be because: - The server is busy. - The server is temporarily unavailable. You may choose to resubmit the request, but be aware that the request might have already been processed. Depending on the type of request, you may not want it to be processed twice. Please click here to re-submit.
A few things to note:
- As I mentioned, we see this screen intermittently maybe one request out of every 100-500.
- When we do see the screen, it is returned without delay. In other words, it doesn't seem to be timeout related.
- Refreshing the page will cause the actual application page being requested to display. In other words, it doesn't seem that there was a temporary server outage in that 1-2 seconds between the error page loading, the refresh, and the real page loading.
- I don't think the network is an issue since the web and application servers are on the same host.
- The web server logs have the following error when this error page appears: [02/Feb/2009:15:37:32] warning (19614): reports: lb.runtime: ROUT1014: Non-idempotent request /applicationContext cannot be retried. [02/Feb/2009:15:37:32] info (19614): reports: lb.runtime: RNTM3003 : Error servicing the request : selected server could not service
What could be causing this error page to come up?
Here's the load balancer configuration:
<!DOCTYPE loadbalancer PUBLIC "-//Sun Microsystems Inc.//DTD Sun ONE Application Server 7.1//EN" "sun-loadbalancer _1_1.dtd"> <loadbalancer> <cluster name="cluster1"> <instance name="instance1" enabled="true" disable-timeout-in-minutes="60" listeners="http://host.domain.com:32000"/> <web-module context-root="/applicationContext" enabled="true" disable-timeout-in-minutes="60" error-url="sun-http-lberror.html" /> <health-checker url="/applicationContext" interval-in-seconds="30" timeout-in-seconds="10" /> </cluster> <cluster name="other_cluster"> <instance name="other_host" enabled="true" disable-timeout-in-minutes="60" listeners="http://host2.domain.com:80000"/> <web-module context-root="/otherContext" enabled="true" disable-timeout-in-minutes="60" error-url="./sun-http-lberror.html" /> <health-checker url="/otherContext" interval-in-seconds="30" timeout-in-seconds="10" /> </cluster> <property name="reload-poll-interval-in-seconds" value="60"/> <property name="response-timeout-in-seconds" value="600"/> <property name="https-routing" value="false"/> <property name="require-monitor-data" value="false"/> </loadbalancer>