You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Myrna van Lunteren (Commented) (JIRA)" <ji...@apache.org> on 2012/02/21 05:11:36 UTC

[jira] [Commented] (DERBY-5617) Improve process handling in SpawnedProcess

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

Myrna van Lunteren commented on DERBY-5617:
-------------------------------------------

I think perhaps there might have been some fall out of this check-in on Feb 16, with ibm 1.5. 
See: http://people.apache.org/~myrnavl/derby_test_results/main/linux/testSummary-1245297.html
http://people.apache.org/~myrnavl/derby_test_results/main/linux/testlog/ibm15/1245297-suites.All_diff.txt
There are 3 failures (the fourth is DERBY-5377) that look related and there are some additional similar failures...
------------------------------
1) test_05_MaxThreads_Neg1(org.apache.derbyTesting.functionTests.tests.derbynet.NetworkServerControlApiTest)junit.framework.AssertionFailedError: Could not find expectedString:Max threads changed to 0. in output:<STDOUT> <END STDOUT>
<STDERR><END STDERR>

	at org.apache.derbyTesting.junit.BaseTestCase.assertExecJavaCmdAsExpected(BaseTestCase.java:520)
	at org.apache.derbyTesting.functionTests.tests.derbynet.NetworkServerControlApiTest.test_05_MaxThreads_Neg1(NetworkServerControlApiTest.java:361)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:113)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)
	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)
2) test_09_MaxThreads_Invalid(org.apache.derbyTesting.functionTests.tests.derbynet.NetworkServerControlApiTest)junit.framework.AssertionFailedError: Could not find expectedString:Max threads changed to 10000. in output:<STDOUT> <END STDOUT>
<STDERR><END STDERR>

	at org.apache.derbyTesting.junit.BaseTestCase.assertExecJavaCmdAsExpected(BaseTestCase.java:520)
	at org.apache.derbyTesting.functionTests.tests.derbynet.NetworkServerControlApiTest.test_09_MaxThreads_Invalid(NetworkServerControlApiTest.java:422)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:113)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)
	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)
3) test_20_TimeSlice_a(org.apache.derbyTesting.functionTests.tests.derbynet.NetworkServerControlApiTest)junit.framework.AssertionFailedError: Could not find expectedString:Time slice changed to 8000. in output:<STDOUT> <END STDOUT>
<STDERR><END STDERR>

	at org.apache.derbyTesting.junit.BaseTestCase.assertExecJavaCmdAsExpected(BaseTestCase.java:520)
	at org.apache.derbyTesting.functionTests.tests.derbynet.NetworkServerControlApiTest.test_20_TimeSlice_a(NetworkServerControlApiTest.java:559)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:113)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)
	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)
-----------------------
                
> 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