db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kristian Waagan (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-5617) Improve process handling in SpawnedProcess
Date Wed, 15 Feb 2012 12:19:15 GMT

     [ https://issues.apache.org/jira/browse/DERBY-5617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Kristian Waagan updated DERBY-5617:
-----------------------------------

    Fix Version/s: 10.9.0.0

A few things to consider:
 o Is the outer timeout too high?
    It is set to 45 minutes, and the clock starts ticking when you create the SpawnedProcess
instance. This mechanism protects against inter-process communications hangs/bugs, for instance
when a bug in the DRDA flow causes both sides to wait for more data. It must be high enough
to avoid killing running test suites. This has been made configurable in case someone are
running on painfully slow machines, or want to kill tests sooner.
 o Should there be a default timeout also for complete(), or is it okay to rely on the timeout
above?
 o It may be useful to review the usages of complete(), and consider if a timeout value should
be specified explicitly. This would be context-/test-dependent.

I don't plan any further work on this issue, but won't close it yet in case there are problems
to fix with the new code.
                
> Improve process handling in SpawnedProcess
> ------------------------------------------
>
>                 Key: DERBY-5617
>                 URL: https://issues.apache.org/jira/browse/DERBY-5617
>             Project: Derby
>          Issue Type: Improvement
>          Components: Test
>    Affects Versions: 10.9.0.0
>            Reporter: Kristian Waagan
>            Assignee: Kristian Waagan
>             Fix For: 10.9.0.0
>
>         Attachments: derby-5617-1a-spawnedprocess_improvements.diff
>
>
> SpawnedProcess wraps a java.lang.Process and performs various tasks related to process
handling. Using external processes from Java is somewhat tricky, in part because of sub-optimal
behavior in the methods provided by Process.
> I plan to implement the following improvements:
>  a) Kill the process after a timeout (the clock starts ticking when you create the SpawnedProcess
instance).
>  b) Don't let interrupts stop SpawnedProcess from waiting for / terminating the process.
>  c) Clean up the Process properly.

--
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

        

Mime
View raw message