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

Andrew Kyle Purtell resolved PHOENIX-7980.
------------------------------------------
    Fix Version/s: 5.4.0
                   5.3.3
       Resolution: Fixed

> Improve handling of test timeouts and resource loss
> ---------------------------------------------------
>
>                 Key: PHOENIX-7980
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7980
>             Project: Phoenix
>          Issue Type: Bug
>          Components: test
>            Reporter: Andrew Kyle Purtell
>            Assignee: Andrew Kyle Purtell
>            Priority: Major
>             Fix For: 5.4.0, 5.3.3
>
>
> Several Phoenix test classes run with reuseForks=true, sharing a single 
> in-JVM minicluster across all classes that land on that same fork (via 
> BaseTest.setUpTestDriver). This is important for reducing overall test 
> runtime but can be problematic. When the fork's in-JVM minicluster dies this 
> poisons every subsequent class assigned to that same reused fork and causes 
> all manner of malfunction that currently are not handled all that well.
> We should at least bound the failure blast radius with the following basic 
> test improvements:
> - Add {{<forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds>}} 
> to appropriate surefire/failsafe configuration. 
> - Add a global ClassRule {{Timeout(20, MINUTES)}} to {{BaseTest}}. Triggers 
> from inside the fork and produces a failure report XML for the wedged test 
> class.
> - Detect and fail fast on discovery of a dead in-JVM cluster in a shared 
> fork. In {{BaseTest.doSetup}} after the utility starts, add a health check 
> that verifies that the master is up. This alone may reduce failure case 
> wastage of test runner resources to seconds from hours.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to