Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Scheduler Memory Leaks #712

Merged

Commits on Dec 31, 2013

  1. Configuration menu
    Copy the full SHA
    93d4e69 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0977f04 View commit details
    Browse the repository at this point in the history
  3. Memory Leak Tests

    NewThreadScheduler is working, the other two are not so commented out for now until fixed.
    benjchristensen committed Dec 31, 2013
    Configuration menu
    Copy the full SHA
    fdbf5ef View commit details
    Browse the repository at this point in the history
  4. Fix Memory Leak in NewThreadScheduler Recursion

    - the Action0 method did not have a leak
    - the Func2 method on inner scheduler recursion did have a leak
    benjchristensen committed Dec 31, 2013
    Configuration menu
    Copy the full SHA
    b1d9c1c View commit details
    Browse the repository at this point in the history
  5. Scheduler Unit Tests

    - passing for all but ExecutorScheduler
    benjchristensen committed Dec 31, 2013
    Configuration menu
    Copy the full SHA
    9f35594 View commit details
    Browse the repository at this point in the history
  6. ExecutorScheduler Memory Leak Fix

    - new InnerExecutorScheduler and childSubscription
    - improvements to unit tests
    benjchristensen committed Dec 31, 2013
    Configuration menu
    Copy the full SHA
    5b2dab3 View commit details
    Browse the repository at this point in the history
  7. CurrentThreadScheduler Memory Leak Fixed

    - Current/Immediate/NewThread/Executor Schedulers are passing unit tests
    - Current/NewThread/Executor Schedulers do not leak memory on the recursion test (Immediate can’t be used for recursion otherwise it stack overflows)
    benjchristensen committed Dec 31, 2013
    Configuration menu
    Copy the full SHA
    9a94fd2 View commit details
    Browse the repository at this point in the history
  8. Small ObserveOn Improvements

    - use Long instead of Int so we don’t overflow
    - migrate from deprecated method
    benjchristensen committed Dec 31, 2013
    Configuration menu
    Copy the full SHA
    28dd5fc View commit details
    Browse the repository at this point in the history
  9. CurrentThreadScheduler Fixes

    - outer/inner scheduling so nested order is correct while not deadlocking on certain nested use cases as found in previous testing
    benjchristensen committed Dec 31, 2013
    Configuration menu
    Copy the full SHA
    43e3d77 View commit details
    Browse the repository at this point in the history
  10. Fix CurrentThreadScheduler Delay Bug

    - introduced a bug during refactor, caught it while updating unit tests
    benjchristensen committed Dec 31, 2013
    Configuration menu
    Copy the full SHA
    2c3db73 View commit details
    Browse the repository at this point in the history
  11. Updated Schedulers Unit Tests

    - merged all scheduler tests into the same package
    - using inheritance so that the same tests are applied to each of the different Scheduler implementations
    - manual test (too slow for normal execution) can be run to test memory leaks (TestRecursionMemoryUsage.java)
    benjchristensen committed Dec 31, 2013
    Configuration menu
    Copy the full SHA
    1f7d6dc View commit details
    Browse the repository at this point in the history
  12. Missing Header

    benjchristensen committed Dec 31, 2013
    Configuration menu
    Copy the full SHA
    b7e6410 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2014

  1. Increasing Unit Test Timeout for Slow Machines

    - Increasing timeout by a lot to handle slow machines such as this: https://netflixoss.ci.cloudbees.com/job/RxJava-pull-requests/629/testReport/junit/rx.schedulers/ExecutorSchedulerTests/recursionUsingFunc2/
    - The timeout is only there if a deadlock or memory leak occurs (which is what this PR is fixing) so when everything is healthy it does not timeout
    benjchristensen committed Jan 2, 2014
    Configuration menu
    Copy the full SHA
    abe9c98 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9b3a838 View commit details
    Browse the repository at this point in the history
  3. Remove Validation of Ordering

    - this test does a flatMap which uses merge which has non-deterministic ordering since the Observable.from can be on a new thread each time
    benjchristensen committed Jan 2, 2014
    Configuration menu
    Copy the full SHA
    1d0d90c View commit details
    Browse the repository at this point in the history