[
https://issues.apache.org/jira/browse/DERBY-5608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13204016#comment-13204016
]
Kathey Marsden commented on DERBY-5608:
---------------------------------------
+1 to dealing with this in SpawnedProcess. I will defer to you on what makes
the most sense, a separate checkin for this part of your work under this issue
or just resolve this as fixed by DERBY-5601 fix. Either sounds fine.
> BaseTestCase.readProcessOutput should read getInputStream() and
> getErrorStream() in separate threads
> -----------------------------------------------------------------------------------------------------
>
> Key: DERBY-5608
> URL: https://issues.apache.org/jira/browse/DERBY-5608
> Project: Derby
> Issue Type: Bug
> Components: Test
> Affects Versions: 10.9.0.0
> Reporter: Kathey Marsden
> Priority: Minor
>
> BaseTestCase.readProcessOutput() reads the streams from
> Process.getInputStream() and Process.getErrorStream() sequentially
> InputStream is = pr.getInputStream();
> InputStream es = pr.getErrorStream();
> ...
> output += "<STDOUT> " + inputStreamToString(is) + "<END STDOUT>\n";
> output += "<STDERR>" + inputStreamToString(es) + "<END STDERR>\n";
> I think that to be really correct the two streams need to be read in
> separate threads because if the error output is large it could block and
> cause a hang if they are read sequentially like this.
> I noticed during the DERBY-5601 discussion as Myrna referenced in that the
> addition of draining the error stream caused a different problem (an
> InterruptException). I don't understand how it could cause that problem but
> do think a hang blocking on reading the input would be possible if the error
> output was large enough both before and after the change to add the reading
> of the error stream sequentially.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira