[ http://issues.apache.org/jira/browse/DIRMINA-129?page=all ] dave irving closed DIRMINA-129: -------------------------------
Fixed by Trustin > "Pipe broken" IOExceptions countered on non-active stream connections > --------------------------------------------------------------------- > > Key: DIRMINA-129 > URL: http://issues.apache.org/jira/browse/DIRMINA-129 > Project: Directory MINA > Type: Bug > Versions: 0.8.1 > Environment: All > Reporter: dave irving > Assignee: Trustin Lee > Priority: Minor > Fix For: 0.8.2 > > The StreamIOHandler implementation uses PipedInput/Output streams for > providing read data. > PipedInputStream is quite strict about the relationship between the producer > and consumer thread. > When blocking on a read, PipedInputStream checks every second to see if the > last producer thread to write to it is still alive. If it detects that the > producer thread is no longer alive, an IO Exception is thrown indicating > "Pipe Broken". > This causes a problem in Mina becuase worker threads in the ThreadPoolFilter > have a "keep alive time" (default is one second). So, if a user is blocked on > a stream IO read (really a PipedInputStream), and the last ThreadPoolFilter > thread which produced data for the stream idles out, the user encounters a > "Pipe Broken" IOException (not related to session idle). > Users can currently work around the problem by increasing the keep-alive time > on the ThreadPoolFilter. > My gut feeling is that ditching PipedInputStream / PipedOutputStream in > favour of something more suited to Minas needs would be a good solution to > the problem. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
