So, I'd like to recommend my fix be merged. It seems to have done the trick.
After three days of running, FilterInputStream.skip() returned zero only once, and my fix prevented a thrashing loop. I also have some more insight into what may cause this. This particular application is running on the internet, and at the root URL for the domain. This means that various internet robots hit it occasionally, looking for robots.txt or just spidering along. It seems to me that not all robots play nice and safe with HTTP, possibly for good reasons, and may cut the connection prematurely. The event happens shortly after one of these robots hits. It also can be that it's a combination of their behavior, and specific implementations of the JVM on specific platforms. Or, it could be a deep java.nio bug, possibly fixed in Java 7's new nio. In any case -- this fix will make these sorrows go away. :) Note that if the crazy event happens, you will see the exception "Cannot skip ahead in FilterInputStream" in yours logs (it is caught and logged by UniformResource). I'm very, very happy to have this resolved! I've been pulling my hair out over this for months. -Tal ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2384598

