[ 
https://issues.apache.org/jira/browse/DERBY-5608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13212731#comment-13212731
 ] 

Kathey Marsden commented on DERBY-5608:
---------------------------------------

I think it would be good to backport to 10.8 .  The cleaner we can get trunk 
and 10.8 the better and also if there are other fixes in this area, they will 
be easier to backport  if this one goes. Do you think it will address 
DERBY-5494?  I haven't had a chance to take a close look at that one yet.

                
> 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
>            Assignee: Kristian Waagan
>            Priority: Minor
>             Fix For: 10.9.0.0
>
>         Attachments: derby-5608-1a-use_spawnedprocess.diff, 
> derby-5608-2a-clear_interrupt_flag_on_waitFor.diff
>
>
> 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

        

Reply via email to