Return-Path: Delivered-To: apmail-tomcat-users-archive@www.apache.org Received: (qmail 26294 invoked from network); 26 Jun 2007 13:18:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 26 Jun 2007 13:18:07 -0000 Received: (qmail 36883 invoked by uid 500); 26 Jun 2007 13:17:55 -0000 Delivered-To: apmail-tomcat-users-archive@tomcat.apache.org Received: (qmail 36864 invoked by uid 500); 26 Jun 2007 13:17:55 -0000 Mailing-List: contact users-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Users List" Delivered-To: mailing list users@tomcat.apache.org Received: (qmail 36853 invoked by uid 99); 26 Jun 2007 13:17:55 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Jun 2007 06:17:55 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of sebster@sebster.com designates 213.196.5.53 as permitted sender) Received: from [213.196.5.53] (HELO mail.servoy.com) (213.196.5.53) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 26 Jun 2007 06:17:49 -0700 Received: (qmail 43195 invoked from network); 26 Jun 2007 13:17:28 -0000 Received: from unknown (HELO ?10.10.1.9?) (svanerk@212.83.238.46) by mail.servoy.com with SMTP; 26 Jun 2007 13:17:28 -0000 Message-ID: <468111E7.2080001@sebster.com> Date: Tue, 26 Jun 2007 15:17:27 +0200 From: Sebastiaan van Erk User-Agent: Thunderbird 1.5.0.12 (X11/20070604) MIME-Version: 1.0 To: Tomcat Users List Subject: read data/infinite loop problem with comet Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Hi, I'm having a problem reading data in my Comet servlet. In the BEGIN event I have the following loop: while (request.getInputStream().available() > 0) { // log that in read loop, log available() // read some data } // log that read loop is done, log available() return; However, even though I keep reading until available() returns 0, I get a SEVERE error complaining I did not read all the available data, which can be seen from the following logs: 2007-06-26 14:37:08,427 DEBUG [http-8080-exec-4] com.sebster.myservlet.TomcatCometServlet - BEGIN event for request org.apache.catalina.connector.RequestFacade@d47c99 2007-06-26 14:37:08,427 DEBUG [http-8080-exec-4] com.sebster.myservlet.TomcatCometServlet - 127.0.0.1:60578 POST /mycometservlet 2007-06-26 14:37:08,432 DEBUG [http-8080-exec-4] com.sebster.myservlet.TomcatCometServlet - [24224039-a37e-40d0-a076-89d1df363390] read loop in BEGIN event, input stream data available: 1 2007-06-26 14:37:08,438 DEBUG [http-8080-exec-4] com.sebster.myservlet.TomcatCometServlet - [24224039-a37e-40d0-a076-89d1df363390] read loop done, input stream data available: 0 2007-06-26 2:37:08.MD org.apache.catalina.connector.CoyoteAdapter event SEVERE: The servlet did not read all available bytes during the processing of the read event After this, the poller goes into an infinite event handling busy loop. I looked at what the poller was doing, and it seems to be setting the comet event into the END event type and trying to call the event method, however, it never arrives at my Comet processor's event method (it seems to call an event method on an error valve or though). I don't know what exactly happens, but I can debug more if necessary. Does anybody know what the proper way to read ALL the data is, and not cause this exception to happen? Regards, Sebastiaan --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org For additional commands, e-mail: users-help@tomcat.apache.org