
|
If you were logged in you would be able to see more operations.
|
|
|
| Resolution Date: |
28/Nov/05 05:35 PM
|
|
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.
|
|
Description
|
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.
|
Show » |
made changes - 28/Nov/05 02:57 PM
| Field |
Original Value |
New Value |
|
Fix Version/s
|
|
0.8.2
[ 12310630
]
|
made changes - 28/Nov/05 05:35 PM
|
Status
|
Open
[ 1
]
|
Resolved
[ 5
]
|
|
Resolution
|
|
Fixed
[ 1
]
|
made changes - 07/Dec/05 06:03 PM
|
Status
|
Resolved
[ 5
]
|
Closed
[ 6
]
|
|