Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 106852 - [Scalability] Support Reliable Concurrent Test Execution
Summary: [Scalability] Support Reliable Concurrent Test Execution
Status: CLOSED DUPLICATE of bug 162605
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: TPTP (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Joe Toomey CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 106887 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-08-12 11:04 EDT by Scott E. Schneider CLA
Modified: 2016-05-05 11:06 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Scott E. Schneider CLA 2005-08-12 11:04:36 EDT
Not all use cases of test execution will experience concurrency issues if it
were allowed but we chose reliability over intermittent parallel test execution
success (given the time constraint we were under) in the TPTP 3.3 / 4.0 releases.

That being said (and not to open up another can of worms) there is a workbench
Java VM property I added in TPTP 3.3 / 4.0 that can be set that will bypass this
test execution serialization behavior and allow manual tests to run in parallel
with multiple JUnit tests, etc, and if all the tests are different there should
be no problems (to be used by the end-user of base TPTP or downstream products):

-DALLOW_CONCURRENT_TEST_EXECUTION=TRUE

In addition there is also an Eclipse jobs property I added in TPTP 3.3 / 4.0
that can be set that will allow parallel execution as well (for use by
downstream products internally):

new QualifiedName("TPTP", "ALLOW_CONCURRENT_TEST_EXECUTION_ONCE")

Assuming that concurrent test execution is turned on by one of the methods
described above here is an example of what should work reliably:

JUnit Test A is launched, then JUnit Test B is launched and then JUnit Test C is
launched
While those are being launched and executed the user can then launch Manual Test
D and Manual Test E and while those UIs come up,
A user can trigger URL test F and URL test G to launch at this point
The user can then can sit back and watch the progress view along with the
execution results UI to wait for their results while they enter results in their
manual test UIs

Here is an example of what I believe will bring out intermittent failures due to
race conditions and unknown causes of hung sessions (zombie java.exes) [assuming
once again that concurrent execution is enabled]:

JUnit Test A is launched 4 times in a row (sometimes works, sometimes doesn't
work due to hung sessions)
A downstream product (another test type has code that) tries to re-enter the
test execution harness and collect execution results using the same execution
context while another test is already executing (the execution results will be
either separated into various execution history files or merged undesirably into
the same results file)
Comment 1 Scott E. Schneider CLA 2005-09-06 21:45:59 EDT
*** Bug 106887 has been marked as a duplicate of this bug. ***
Comment 2 Joe Toomey CLA 2007-01-17 17:54:45 EST
This bug has some good history of the problem, but it is now being tracked under a separate enhancement request.  Marking as dupe.

*** This bug has been marked as a duplicate of bug 162605 ***
Comment 3 Paul Slauenwhite CLA 2007-06-02 14:51:27 EDT
Reporter: Please verify and close in preparation for shutting down the TPTP 4.4 release.  Thanks.
Comment 4 Joe Toomey CLA 2007-06-18 10:41:27 EDT
Closed (dupe)