Hehl, Thomas wrote:

I've read other responses and don't know much more about what to tell you.

It seems to be the first order of business is to figure out how to
consistently re-create the problem.

Indeed. We've been trying that for a couple of weeks now but no luck yet. As of now the only thing we can do is indeed fire a high load on the system, and trace back in the log which instances went wrong.

The seemingly randomness of the problem is making this quite hard. For instance, at one moment the problem seemed to be reproducable on a certain page in a certain account. However when I plugged the laptop with which I could reproduce the problem to an internet connection at another location, the problem could not be reproduced.

If this doesn't re-create the issue, then the problem is probably outside of
tomcat's realm.

I'm not sure. Even if it would be MyFaces that sometimes causes invalid POST requests to happen, it's Tomcat that drops them without giving any warning or error message. Don't forget, before the request hits the MyFaces filter, we're still in 'plain Tomcat' (for lack of a better term). At the top of the filter chain I installed a servlet filter that only prints the post parameters. There is no MyFaces or anything else active at that point.

Kind regards,
Arjan Tijms




Something's going on in your MyFaces or some such.

Sorry not more help.


-----Original Message-----
From: M4N - Arjan Tijms [mailto:[EMAIL PROTECTED] Sent: Friday, August 24, 2007 12:43 PM
To: users@tomcat.apache.org
Subject: Tomcat looses POST parameters

Hi,

We're hosting a fairly high traffic web application based on Tomcat. It's running on Debian-Etch, JDK 5.0U10 and Tomcat 5.5.20. We're using Apache as a front-end with the AJP connector.

The problem I'm encountering is that for a percentage of the POST requests, Tomcat seems to loose all parameters. Our application uses a filter that logs the (first few characters of) post parameters. This filter is installed as the first one in the filter chain, so nothing else can interfere with it. For requests originating from pages which logically can not produce such an empty post request, the log clearly shows there are no parameters.

The problem is often fairly random, although I have been able to consistently reproduce it on one occasion. Using a proxy server to monitor what my browser was sending, I clearly saw in the raw HTTP headers that parameters where being send, yet they weren't received in Tomcat. I also enabled TCP/IP packet logging at the server for a while. For requests that appeared with empty parameters in Tomcat, the tcp/ip log showed the parameters did arrive at the server.

Next to that I enabled debug logging in the AJP connector, and again the POST parameters were in the HTTP request but not present when the mentioned filter logged the request in Tomcat.

I did notice though that the overwhelming majority of the "empty post" requests concerned Faces requests (we're using MyFaces 1.1.4). We store state on client, so typical Faces HTTP post requests are at least 22KB in size. Nevertheless, thousands of requests from the same pages from all kinds of different browsers arrive with the post parameters intact.

I'm at a loss here how to proceed. Naturally I could change JSF to keep state on server, but because of the way some custom components work that's currently not an option. It would also not really solve the underlying problem of course.

Any help would be greatly appreciated


Kind regards,
Arjan Tijms



--
It's a cult. If you've coded for any length of time, you've run across someone 
from this warped brotherhood. Their creed: if you can write complicated code, 
you must be good.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to