GitHub user cloud-fan opened a pull request:

    https://github.com/apache/spark/pull/17844

    [SPARK-20548][FLAKY-TEST] share one REPL instance among REPL test cases

    ## What changes were proposed in this pull request?
    
    `ReplSuite.newProductSeqEncoder with REPL defined class` was flaky and 
throws OOM exception frequently. By analyzing the heap dump, we found the 
reason is that, in each test case of `ReplSuite`, we create a REPL instance, 
which creates a classloader and loads a lot of classes related to 
`SparkContext`. More details please see 
https://github.com/apache/spark/pull/17833#issuecomment-298711435.
    
    In this PR, we create a new test suite, `SingletonReplSuite`, which shares 
one REPL instances among all the test cases. Then we move most of the tests 
from `ReplSuite` to `SingletonReplSuite`, to avoid creating a lot of REPL 
instances and reduce memory footprint.
    
    
    ## How was this patch tested?
    
    test only change

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/cloud-fan/spark flaky-test

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/spark/pull/17844.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #17844
    
----

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to