[REEF-1641] Remove batch id and change the way to request maser/slave evalautors

Currently in IMRU, we have different spec for master vs mapper elevators.
We use EvaluatorBatchId to distinguish which one we requested when receiving IAllocatedEvaluator.
However, EvaluatorBatchId may not be supported in some environments such as HDInsight.
So we need a more reliable way to decide which evaluator is for master.

The change in this PR is to request the first evaluator for master.
After receiving it, record it as master, then request the mappers.

An assumption is that if master fails at any stage, we fail the system.

* IMRU Driver and Evaluator Manager are updated
* Existing test cases are updated
* A new test case is added to simulate master evaluator failure during WaitingForEvaluators phase.

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

Pull request:
  This closes #1156
5 files changed
tree: 1dafa62575ad97dbbe868f7f50a7924e945c5328
  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