[REEF-1533] Make RuntimeClock more testable and create unit tests to check graceful and forceful shutdown of RuntimeClock

  * Refactor ClockTest for readability and add more Javadoc comments;
  * Add unit tests for graceful and forceful shutdown of the clock.
  * Move alarm producing functionality into a separate class and factor out the delay logic as an abstract method.
  * Add helper functions to generate random delays to AlarmProducer
  * Move EventRecorder and AlarmProducer into a separate package
  * Refactor the EventRecorder helper class - do not track timestamps separately from events + minor style cleanups.
  * Implement Clock.isClosed() method
  * Minor fixes in other unit tests around the RuntimeClock logic.
  * Log all event subscriptions at the beginning of hte event loop in RuntimeClock
  * Switch to RealTimer instead of LogicalTimer in ClockTest.testAlarmOrder() to avoid race condition (will be addressed in JIRA [REEF-1537](https://issues.apache.org/jira/browse/REEF-1537))

JIRA:
  [REEF-1533](https://issues.apache.org/jira/browse/REEF-1533) close

Pull request:
  Closes [#1099](https://github.com/apache/reef/pull/1099)
7 files changed
tree: 0041827fa2e26e118afc9ef85d27ea0f30707f49
  1. bin/
  2. dev/
  3. lang/
  4. website/
  5. .gitattributes
  6. .gitignore
  7. .travis.yml
  8. appveyor.yml
  9. Doxyfile
  10. HEADER
  11. LICENSE
  12. NOTICE
  13. pom.xml
  14. README.md
README.md

Apache REEF™

Apache REEF™ (Retainable Evaluator Execution Framework) is a library for developing portable applications for cluster resource managers such as Apache Hadoop YARN or Apache Mesos. For example, Microsoft Azure Stream Analytics is built on REEF and Hadoop.

Online Documentation

Detailed information on REEF can be found in the following places:

The developer mailing list is the best way to reach REEF‘s developers when the above aren’t sufficient.

Build Status

ComponentOSStatus
REEF JavaUbuntuBuild Status
REEF.NETWindowsBuild status

Building REEF

Java.NET
Build & run unit testsjava\BUILD.mdcs\BUILD.md

Releases

downloads NuGet package

License

Apache 2.0