2 months ago[REEF-2028] A new module containing the new .Net bridge (#1477) master
Tyson Condie [Fri, 12 Oct 2018 17:36:41 +0000 (10:36 -0700)] 
[REEF-2028] A new module containing the new .Net bridge (#1477)

* [REEF-2025] A new module containing the new Java bridge

    This Jira introduces a new Java bridge for Drivers implemented in
    alternative languages. It provides the following artifacts (note: client
    driver refers to the application driver implemented in an alternative
    programming language):

1. A generic framework for passing information between the Java driver and the client driver.
2. A gRPC based implementation of the bridge that passes information via protocol buffers over gRPC.
3. Protocol buffer definitions for all information that flows between the Java driver and the client driver.
4. A Java implementation of the driver client that can be used for developing unit tests and serve as a template for implementing a driver client (say in C#).
5. Test cases to fail based unit tests that cover the Java bridge and client.

Pull Request:
    Closes #1477

2 months ago[REEF-2047] Upgrade Hadoop Version Referenced by REEF to 2.9 (#1480)
Sean [Tue, 9 Oct 2018 21:32:17 +0000 (14:32 -0700)] 
[REEF-2047] Upgrade Hadoop Version Referenced by REEF to 2.9 (#1480)

This addressed the issue by:
  * Upgrading the pom to use hadoop 2.9.1, where allocation ID is in the NMClient API.


Pull request:
  This closes #1480

4 months ago[REEF-2041] Enable docker container support for REEF on Azure Batch (#1478)
sharathmalladi [Sat, 4 Aug 2018 01:34:55 +0000 (18:34 -0700)] 
[REEF-2041] Enable docker container support for REEF on Azure Batch (#1478)

* Enable Azure Batch containers
* Add container registry to parameters
* Address changes needed for REEF to run with docker containers as well as without the use of docker containers
* TcpPortList is List instead of comma separated string
* Removed isDockerContainer and IS_CONTAINER_BASED_POOL parameters as they are not needed
* Use TcpPortListString to represent list of ports
* Addressed all feedback except consolidating container based configuration into a separate class
* Consolidate docker registry settings into the ContainerRegistryProvider class
* Enable docker container support on Windows for Azure Batch

JIRA: [REEF-2041](

Closes #1478

4 months ago[REEF-1732] Build Metrics System (#1460)
mandyshieh [Sat, 4 Aug 2018 01:14:26 +0000 (18:14 -0700)] 
[REEF-1732] Build Metrics System (#1460)

Enhance the capabilities of MetricService by adding the following functionality:
   * Let the user specify the type of the metric, as opposed to being restricted to Counters.
   * Let the user maintain a timeseries and keep track of the history of updates for a given metric.
   * Add example implementations and functional tests to demonstrate usage.

JIRA: [REEF-1732](

Closes #1460

5 months ago[REEF-2035] BlobFs parameters should be account name and key (#1472)
mandyshieh [Mon, 9 Jul 2018 22:08:50 +0000 (15:08 -0700)] 
[REEF-2035] BlobFs parameters should be account name and key (#1472)

Take out the connection string parameter and replace with account name and account key. Connection string is then constructed whenever necessary.

JIRA: [REEF-2035] (

Pull Request:
  This closes #1472

5 months ago[REEF-2025] A new module containing the new Java bridge (#1466)
Tyson Condie [Fri, 6 Jul 2018 23:59:37 +0000 (16:59 -0700)] 
[REEF-2025] A new module containing the new Java bridge (#1466)

This update introduces a new Java bridge for Drivers implemented in alternative languages. It provides the following artifacts (note: client driver refers to the application driver implemented in an alternative programming language):

1. A generic framework for passing information between the Java driver and the client driver.
2. A gRPC based implementation of the bridge that passes information via protocol buffers over gRPC.
3. Protocol buffer definitions for all information that flows between the Java driver and the client driver.
4. A Java implementation of the driver client that can be used for developing unit tests and serve as a template for implementing a driver client (say in C#).
5. Test cases to fail based unit tests that cover the Java bridge and client.

JIRA: [REEF-2025](

Pull Request:
    Closes #1466

5 months ago[REEF-2033] Introduce configurable azure blob exponential retry policy
Dwaipayan Mukhopadhyay [Wed, 27 Jun 2018 19:37:17 +0000 (12:37 -0700)] 
[REEF-2033] Introduce configurable azure blob exponential retry policy

Currently, the Azure Blob retry policy defaults to Azure Blob Client's default `ExponentialRetryPolicy` which has retry count as 3 and retry interval as 4 seconds. Higher load jobs require custom setting of these values to overcome azure blob throttling ([REEF-2017]( This change allows user to set their own retry count and intervals for azure blob retry policy.


Pull request:
  This closes #1470

5 months ago[REEF-2034] AdlsAccountName Expects FQDN (#1471)
mandyshieh [Fri, 22 Jun 2018 21:49:51 +0000 (14:49 -0700)] 
[REEF-2034] AdlsAccountName Expects FQDN (#1471)

Rename the parameter `AdlsAccountName` to `AdlsAccountFqdn` for clarity and fix the docs. + other minor fixes

JIRA: [REEF-2034](

Pull request:
  This closes #1471

5 months ago[REEF-2024] Prepare existing artifacts for new bridge module. (#1467)
Tyson Condie [Wed, 20 Jun 2018 21:42:10 +0000 (14:42 -0700)] 
[REEF-2024] Prepare existing artifacts for new bridge module. (#1467)

The new bridge needs access to create an EvaluatorDescriptor. This PR creates a factor and builder for EvaluatorDescriptor that can be injected via Tang. Default implementation creates an EvaluatorDescriptImpl.

Pull Request:
   Closes #1467

5 months ago[REEF-2022] Fix AzureBlockBlobFileSystem.GetChildren API and unit tests
sharathmalladi [Wed, 20 Jun 2018 21:20:38 +0000 (14:20 -0700)] 
[REEF-2022] Fix AzureBlockBlobFileSystem.GetChildren API and unit tests

* Fix blob filesystem to align with local file system behavior
* Fix the `GetChildren` API and added unit tests.

JIRA: [REEF-2022](

Closes #1464

5 months ago[REEF-2037] Make local file system deleteDirectory api recursive (#1474)
Dwaipayan Mukhopadhyay [Wed, 20 Jun 2018 20:08:15 +0000 (13:08 -0700)] 
[REEF-2037] Make local file system deleteDirectory api recursive (#1474)

`DeleteDirectory` of `LocalFileSystem` does not do recursive delete unlike other filesystem implementations


Pull request:
  This closes [1474](

5 months ago[REEF-2021]In AzureBatch Runtime, Enable REEF .NET Client Communication to Driver...
Chenxi Zhao [Tue, 19 Jun 2018 17:57:30 +0000 (10:57 -0700)] 
[REEF-2021]In AzureBatch Runtime, Enable REEF .NET Client Communication to Driver (#1468)

This update enables REEF.NET Client-Driver communication by using `InBoundNATPool` features provided by Azure Batch Pool. More Info:

JIRA: [REEF-2021](

Pull Request:
  This closes #1468

6 months ago[REEF-2016] Fix CreateUriForPath methods of different IFileSystems to not append...
sharathmalladi [Fri, 15 Jun 2018 21:24:14 +0000 (14:24 -0700)] 
[REEF-2016] Fix CreateUriForPath methods of different IFileSystems to not append prefix if given path already contains it (#1476)

  * Fix CreateUriForPath methods of different Ifilesystems not to append prefix if given path already
  contains it
  * Update tests related to file systems

  JIRA: [REEF-2016](httaps://

  Pull Request:
    This closes #1476

6 months ago[REEF-2031]Azure Batch credentials exposed in job-submission-params.json in REEF...
Chenxi Zhao [Thu, 14 Jun 2018 20:33:48 +0000 (13:33 -0700)] 
[REEF-2031]Azure Batch credentials exposed in job-submission-params.json in REEF.NET (#1469)

[REEF-2031] Azure Batch credentials exposed in job-submission-params.json in REEF.NET

When running REEF .NET on Azure Batch, Azure Batch key and Azure Storage
account key are exposed in job-submission-params.json file. Those keys
are unnecessary as environment variables "AZ_BATCH_AUTHENTICATION_TOKEN"
is set for Azure Batch token, and "AZURE_STORAGE_CONTAINER_SAS_TOKEN_ENV" is set for Azure Storage Account token.
JIRA: [REEF-2031](httaps://

Pull request:
  This closes #1469

6 months agoMerge pull request #1475 from DifferentSC/REEF-2019
Byung-Gon Chun [Tue, 12 Jun 2018 04:35:56 +0000 (13:35 +0900)] 
Merge pull request #1475 from DifferentSC/REEF-2019

[REEF-2019] Enforce uncompressed files are within the current directory

6 months ago[REEF-2018] DataLakeFileSystem does not show adequate exception messages
mandy shieh [Wed, 16 May 2018 20:59:19 +0000 (13:59 -0700)] 
[REEF-2018] DataLakeFileSystem does not show adequate exception messages

When there are errors in uploading and downloading, the ADLS file system
constructs an error message using the error messages passed from the
adls client.


Pull Request:
  This closes #1462

6 months ago[REEF-1991] Delete old project, rename DotNet projects to old project names.
Scott Inglis [Fri, 11 May 2018 20:53:10 +0000 (13:53 -0700)] 
[REEF-1991] Delete old project, rename DotNet projects to old project names.

This change removes all the old projects and renames the new projects to
the old project names (effectively removing the "DotNet" name). Changes
include the following:

  - Deletes old projects
  - Renames all *.DotNet.csproj to *.csproj
  - Renames all AssemblyInfo.DotNet.cs to AssemblyInfo.cs. If the
    project only had an AssemblyInfo.cs, this was deleted since its
    specified now in the csproj file.
  - Removed all packages.config
  - Removed all *.nuspec.
  - Updates to appveyor.xml for building.


Pull Request:
  This closes #1459

7 months ago[REEF-2019] Enforce uncompressed files are within the current directory 1463/head 1475/head
Gyewon Lee [Fri, 18 May 2018 07:04:12 +0000 (16:04 +0900)] 
[REEF-2019] Enforce uncompressed files are within the current directory

JIRA: [REEF-2019](

Pull Request:

7 months ago[REEF-2012] Add driver restart capabilities to reef runtime mock
Tyson Condie [Thu, 26 Apr 2018 19:52:51 +0000 (12:52 -0700)] 
[REEF-2012] Add driver restart capabilities to reef runtime mock

JIRA: [REEF-2012](

Pull Request:
   Closes #1452

7 months ago[REEF-2014] Force-exit AzureBatchBootstrapREEFLauncher
Chenxi Zhao [Sat, 28 Apr 2018 02:39:58 +0000 (19:39 -0700)] 
[REEF-2014] Force-exit AzureBatchBootstrapREEFLauncher

This adds `System.exit(0)` in `AzureBatchBootstrapREEFLauncher`, which
applies the same logic in REEFLauncher.


Pull request:
  This closes #1455

7 months ago[REEF-2013] Running on Azure Batch fails with a Null Exception error
Scott Inglis [Sat, 28 Apr 2018 00:50:27 +0000 (17:50 -0700)] 
[REEF-2013] Running on Azure Batch fails with a Null Exception error

 - This was due to the node label not being set correctly resulting a
   null value when being passed down to Java. This is now set to the
   correct value.


Pull Request:
  This closes #1454

7 months ago[Trivial] Pull request close
Markus Weimer [Fri, 27 Apr 2018 21:40:23 +0000 (14:40 -0700)] 
[Trivial] Pull request close

I forgot to close the PR in the prior commit. Doing that now.

Pull Request:
  This closes #1453

7 months ago[REEF-2010] Update DotNet libraries to target .netstandard2.0
Scott Inglis [Fri, 27 Apr 2018 18:47:49 +0000 (11:47 -0700)] 
[REEF-2010] Update DotNet libraries to target .netstandard2.0

This change updates all libraries to target .net standard 2.0 while
leaving the executables and tests targeting .net461.

 - Update the NSubstitute library and Microsoft.Net.Test.Sdk libraries
   as the older versions were causing an issue with the tests.
 - Changed a Blob call to use the Async method.

This also moves the client `.resx` file generated during build to the
`bin` folder:

 - Moves the resx generation to now happen in
 - Also deletes the file post build process. This is to mirror the
   behavior from the old build


7 months ago[REEF-2011] Enable node label expressions in evaluator requestor.
Tyson Condie [Wed, 25 Apr 2018 23:33:07 +0000 (16:33 -0700)] 
[REEF-2011] Enable node label expressions in evaluator requestor.

  This add the notion of node label expressions to resource manager
  requests in both Java and C#.


Pull Request:
  Closes #1451

7 months ago[REEF-1965] Implement .NET REEF runtime for Azure Batch
Chenxi Zhao [Fri, 1 Dec 2017 01:48:31 +0000 (17:48 -0800)] 
[REEF-1965] Implement .NET REEF runtime for Azure Batch

This implements
    * Azure Batch DotNet client that submits REEF Job to Azure Batch pool.
    * HelloReef example runs in Azure Batch.

JIRA: [REEF-1965](

Closes #1441

7 months ago[TRIVIAL] Close a bunch of stale Pull Requests
Markus Weimer [Wed, 25 Apr 2018 20:26:47 +0000 (13:26 -0700)] 
[TRIVIAL] Close a bunch of stale Pull Requests

Pull Requests:
  This closes #1434
  This closes #1404

7 months ago[REEF-2009] Replace Version tag with VersionPrefix and VersionSuffix
Scott Inglis [Tue, 24 Apr 2018 17:47:19 +0000 (10:47 -0700)] 
[REEF-2009] Replace Version tag with VersionPrefix and VersionSuffix

This changes the Version tag in the props file to now be specified with
VersionPrefix and VersionSuffix. VersionPrefix is now the main version
of REEF while VersionSuffix is the SNAPSHOT information if set as a


Pull Request:
  This closes #1449

7 months ago[REEF-1992] Upgrade Azure Storage from 6.1 to 8.1.3
Markus Weimer [Wed, 25 Apr 2018 00:50:15 +0000 (17:50 -0700)] 
[REEF-1992] Upgrade Azure Storage from 6.1 to 8.1.3

Upgrades all Azure Storage dependencies to version 8.1.3. Change is
necessary for external consumers of REEF as well as matching the


Pull Request:
  This closes #1439

7 months ago[REEF-2005] Update DotNet projects to target .net461
Scott Inglis [Fri, 20 Apr 2018 20:02:39 +0000 (13:02 -0700)] 
[REEF-2005] Update DotNet projects to target .net461

This updates all projects to target .net461, including the Bridge

 - Removes the conditional library references in the csproj files
    for.net452 as this is no longer required.
 - Additional updates were done to get the build and tests passing.


Pull Request:
  This closes #1448

7 months ago[REEF-1998] Create azure blob storage container if it does not exist when calling...
Dwaipayan Mukherjee [Tue, 3 Apr 2018 00:43:44 +0000 (17:43 -0700)] 
[REEF-1998] Create azure blob storage container if it does not exist when calling Azure Blob File System APIs

This addressed the issue by creating a new azure blob container if it
did not exist already for the following api calls for

 * Create
 * Copy
 * CopyFromLocal


Pull Request:
  This closes #1444

8 months ago[REEF-2001] Driver launcher fails to find the JVM.DLL if JAVA_HOME is a JRE
Tyler Clintworth [Wed, 4 Apr 2018 22:22:42 +0000 (15:22 -0700)] 
[REEF-2001] Driver launcher fails to find the JVM.DLL if JAVA_HOME is a JRE

This adds additional search paths for `JVM.DLL` to the C++ Bridge code.


Pull Request:
  This closes #1443

8 months ago[REEF-1997] DotNet: Fix project dependencies with FatNuGet and Client
Scott Inglis [Mon, 26 Mar 2018 19:32:25 +0000 (12:32 -0700)] 
[REEF-1997] DotNet: Fix project dependencies with FatNuGet and Client

This issue was fixed by the following:

 - Added PrivateAssets tag for the bridge references by the Client
 - Added PrivateAssets tag to all project references in the FatNuget


Pull Request:
  This closes #1437

8 months ago[REEF-1965] Implement REEF runtime for Azure Batch
Reed Umbrasas [Thu, 1 Mar 2018 01:29:44 +0000 (17:29 -0800)] 
[REEF-1965] Implement REEF runtime for Azure Batch

    * Implement REEF runtime for Azure Batch
    * Add HelloReefAzBatch example that allows users to test the runtime
    with their Batch account
    * Ensure all tests in reef-tests package pass when run with Azure
    Batch runtime.
    * Azure Batch runtime security improvements and minor refactor

       1. Driver now uses authentication token to communicate with Azure Batch
       2. Driver now uses a Shared Access Signature to communicate with Azure Storage
       3. org.apache.reef.runtime.azbatch.util package was refactored into sub-packages to better organize a growing number of classes.
       4. Adding "final" keyword for necessary classes
       5. Add missing annotation
    * Fix race condition in AzureBatchTaskStatusAlarmHandler

JIRA: [REEF-1965](

Closes #1432

8 months ago[REEF-1990] AppVeyor uses DotNet projects for building and testing
Scott Inglis [Mon, 26 Mar 2018 17:01:36 +0000 (10:01 -0700)] 
[REEF-1990] AppVeyor uses DotNet projects for building and testing

This updates the AppVeyor build file to now target the new DotNet


Pull Request:
  This closes #1438

9 months ago[REEF-1987] Fix build dependency with bridge and client when building in VS2017
Scott Inglis [Fri, 16 Mar 2018 23:14:24 +0000 (16:14 -0700)] 
[REEF-1987] Fix build dependency with bridge and client when building in VS2017

 - This was due to the Bridge not having a dependency on the Driver
   project and the EnableDotNetBuild variable conditional being
 - EnableDotNetBuild variable now only sets the target framework.
   Projects will reference other projects based upon the target
 - Bridge now has a dependency on the Driver. [REEF-1994] Packages can
   publish via msbuild using the pack target
 - Packaging is done using the following command: msbuild
    Org.Apache.REEF.DotNet.sln /t:pack
 - Added an empty pack target to the bridge to skip being packed
 - Added a Test attribute to all Test projects to prevent the tests from
   being packed.
 - Nuget packages now show up in bin\.netcore\<Assembly> [REEF-1995]
   Re-add FatNuGet package back to the solution
 - Added both the FatNuGet project and Bridge.CLR projects to the
 - FatNuGet does not include the evaluator when building .net core.


Pull Request:
  This closes #1436

9 months ago[REEF-1987] Visual Studio 2017 Project Conversion
Scott Inglis [Tue, 13 Mar 2018 23:08:48 +0000 (16:08 -0700)] 
[REEF-1987] Visual Studio 2017 Project Conversion

  The goal of these changes is to migrate over to the new DotNet projects.
  Part of this effort is to be able to execute the build and tests via the
  build system. Therefore with this change, the DotNet projects now build
  .net452 by default and target the bridge. The build and tests can now
  run using msbuild -- almost identical to the commands that are in the
   -msbuild lang\cs\Org.Apache.REEF.DotNet.sln /t:Restore
   -msbuild lang\cs\Org.Apache.REEF.DotNet.sln
   -msbuild lang\cs\TestRunner.DotNet.proj

  If there is a need to continue to use .net core builds, the
  EnableDotNetBuild variable can be set to make this happen.

  This completes the following sub-tasks:
    [REEF-1986] DotNet project needs to support different build projects
      - Added EnableDotNetBuild parameter in build.Common.DotNet.props.
      When active, the projects will build .net452 and .netcore but will
      target the Bridge.CLR project. If false, will target .net452 and
      existing bridge project. Defaults to false.
    [REEF-1985] Update DotNet projects to target .net 452
      - Updated all *DotNet projects to target .net 452
    [REEF-1984] Port test-runner project to the DotNet project
      - Added a DotNet test runner project, works like the old test runner
      but supports the new projects. This project can be ran using
    [REEF-1983] DotNet client project supports embedding jar files as resource
      - Client project has changed to run the Custom code task that will
      embed the bridge exe and java jar files as resources into the file.
    [REEF-1982] DotNet port of Bridge and BridgeJAR projects
      - This add DotNet versions of the Bridge and BridgeJar projects. The
      DotNet build will now build the java project and copy jar files
      over. Bridge project builds as a .net452 exe.


Pull Request:
    This closes #1435

9 months ago[REEF-1976] Implement Azure Data Lake Storage FileSystem
dwaijam [Fri, 26 Jan 2018 00:46:08 +0000 (16:46 -0800)] 
[REEF-1976] Implement Azure Data Lake Storage FileSystem

   * Implement Azure Data Lake Storage FileSystem
   * Add unit tests checking exceptions for azure data lake filesystem methods (#9)
   * Add unit tests checking exceptions for azure data lake filesystem methods
   * upgrade Newtonsoft.Json to
   * add doc link for AD app creation

JIRA: [REEF-1976](

Closes #1427

10 months ago[REEF-1977] Fix for OSUtils.getPID() random fails
Chenxi Zhao [Tue, 6 Feb 2018 16:41:09 +0000 (08:41 -0800)] 
[REEF-1977] Fix for OSUtils.getPID() random fails

   * Add return value check for `process.waitFor()`
   * Log error stream if getting PID failed


Pull request:
  This closes #1430

10 months ago[REEF-1975] Support stream option for Azure Blob storage
dwaijam [Thu, 18 Jan 2018 18:30:16 +0000 (10:30 -0800)] 
[REEF-1975] Support stream option for Azure Blob storage

   * Support stream option for Azure Blob storage
   * Updated Open test to assert on stream Stream to blobs (#8)
   * Implement Create method to create a blob and return a write stream to the blob

JIRA: [REEF-1975](

Closes #1426

10 months ago[REEF-1966] Allow user to define app.config for Evaluator
jwang98052 [Wed, 13 Dec 2017 00:21:27 +0000 (16:21 -0800)] 
[REEF-1966] Allow user to define app.config for Evaluator

  * Use user define `app.config` for Evaluator if any. Otherwise, use
  * Remove `app.config` file from Evaluator project


Pull Request:
  This closes #1421

10 months ago[REEF-1973] Update .NET Target to 4.5.2
Mandy Shieh [Tue, 16 Jan 2018 19:17:06 +0000 (11:17 -0800)] 
[REEF-1973] Update .NET Target to 4.5.2

This change updates the target framework in all `.csproj` files to .NET


Pull Request:
  This closes #1425

11 months ago[REEF-1969] Switch to StyleCop 5.0
Markus Weimer [Thu, 4 Jan 2018 00:17:58 +0000 (16:17 -0800)] 
[REEF-1969] Switch to StyleCop 5.0

This updates all package references to use version `5.0.0` of StyleCop.
Also, it fixes newly introduced StyleCop warnings. All of those are just
inverting comparisons of the form `constant == variable` to `variable ==


Pull Request:
  This closes #1423

11 months ago[REEF-1968] Allow the use of C#7.2
Markus Weimer [Thu, 21 Dec 2017 19:53:58 +0000 (11:53 -0800)] 
[REEF-1968] Allow the use of C#7.2

This adds a directiive to both `build.props` and `build.DotNet.props` to
allow for C# 7.2 code.

This also adds the `.vscode` folder to `.gitignore`.


Pull Request:
  This closes #1422

12 months ago[REEF-1964] Allow IMRU jobs in REEF.NET to be executed from any directory
RoganC [Tue, 12 Dec 2017 00:29:54 +0000 (16:29 -0800)] 
[REEF-1964] Allow IMRU jobs in REEF.NET to be executed from any directory

This addressed the issue by
  * Making the IMRU client explicitly add the assemblies from the
    executing directory. This changes the default behavior but maintains
    backwards compatibility.


Pull request:
  This closes #1420

12 months ago[REEF-1963] Jar resource reef-bridge-client missing in reef/global directory
RoganC [Sat, 18 Nov 2017 00:33:38 +0000 (16:33 -0800)] 
[REEF-1963] Jar resource reef-bridge-client missing in reef/global directory

This addressed the issue by
  * Manually Adding the file to the driver's reef/global directory in the DriverFolderPreparationHelper


Pull request:
  This closes #1419

13 months ago[REEF-1826] Clarify the API to add assemblies to a Job submission
roganc [Sat, 4 Nov 2017 23:35:45 +0000 (16:35 -0700)] 
[REEF-1826] Clarify the API to add assemblies to a Job submission

This addressed the issue by

  * Moved all functionality for assigning global assemblies to the
    `JobRequestBuilder`; removed from `DriverFolderPreparationHelper`
  * Job request builder adds the assemblies of the local directory if no
    assemblies were added (local or global) and logs a warning.
  * Added a helper function to add assemblies from the Executing
    Assembly's directory
  * Added a helper function to use the directory of the currently-running
  * Updated HelloREEF to use the executable directory instead of the
    current working directory


Pull request:
  This closes #1826

13 months ago[REEF-1954] Require Visual Studio 2017
Markus Weimer [Thu, 9 Nov 2017 00:08:19 +0000 (16:08 -0800)] 
[REEF-1954] Require Visual Studio 2017

This change

   * Updates `lang/cs/` to require Visual Studio 2017
   * Updates `appveyor.yml` to only build on Visual Studio 2017
   * Updated the solutions file to require Visual Studio 2017

JIRA: [REEF-1954](

Pull Request:
  This closes #1415

13 months ago[REEF-1958] Set logging level to Verbose in all processes of HelloREEF example
Sergiy Matusevych [Sat, 11 Nov 2017 00:31:32 +0000 (16:31 -0800)] 
[REEF-1958] Set logging level to Verbose in all processes of HelloREEF example

Set logging level to `Verbose` in HelloREEF (local and YARN versions)
for the Driver and the Evaluators

+ better logging and some cleanup in the HelloREEF C# driver to make
sure that setting logging levels works properly


Pull Request:
  This closes #1417

13 months ago[REEF-1959] Fix bug in ClassPathBuilder#addAllToSuffix
Geon-Woo Kim [Sun, 12 Nov 2017 08:47:32 +0000 (17:47 +0900)] 
[REEF-1959] Fix bug in ClassPathBuilder#addAllToSuffix

This fixes a wrong method call inside of the addAllToSuffix method


Pull Request:
  Closes #1416

13 months ago[REEF-1950] Better test reporting for REEF.NET
Markus Weimer [Sun, 22 Oct 2017 16:55:17 +0000 (09:55 -0700)] 
[REEF-1950] Better test reporting for REEF.NET

This adds an API to write functional tests of REEF. The main API is
`ITestRunner` through which a Test can be submitted. In the Driver of a test,
one can use an injected instance of `Assert` to record the passing or faling of

A `ITestRunner` is obtained via the `TestRunnerFactory` which uses the same
environment variables used by the Java tests to determine which TestRunner to

A good way to understand the new functionality is the new functional test,

Known issues:

  * The `IAssert` API is spartan.
  * There is only an implementation for the local `TestRunner`.


Pull Request:
  This closes #1412

13 months ago[REEF-1951] Make Driver Status more robust.
Markus Weimer [Mon, 6 Nov 2017 19:00:07 +0000 (11:00 -0800)] 
[REEF-1951] Make Driver Status more robust.

This change makes the communication of the Driver status between the
Driver and the .NET Client more robust. It gueards against the Client
calling the HTTP server to late by changes on the Java side. It guards
against calling the HTTP server to early by changes on the .NET side.

On the *Java side*, this introduces a new alarm on the clock that makes
sure that `DriverStatusHTTPHandler` is called at least once via HTTP in
2s after launching.

On the *.NET Side*, this introduces a retry loop around the first
attempt to connect to the Driver. This makes sure we don't call it too


Pull Request:
  This closes #1413

13 months ago[REEF-1947] xUnit error in TestHelloREEFClient
jwang98052 [Fri, 3 Nov 2017 03:32:27 +0000 (20:32 -0700)] 
[REEF-1947] xUnit error in TestHelloREEFClient

The test is for yarn and called from a test console. So remove `[Fact]` for now.

JIRA: [REEF-1947](

This closes #1410

13 months ago[REEF-1939] Implement network transport for the Java-CLR bridge in C#
Sergiy Matusevych [Thu, 26 Oct 2017 22:21:14 +0000 (15:21 -0700)] 
[REEF-1939] Implement network transport for the Java-CLR bridge in C#

Summary of changes:
   * Implement `NetworkTransport` wrapper and `LocalObserver` handler for incoming messages
   * Add Java bridge endpoint file name to `REEFFileNames` constants
   * Refactor the Avro protocol for the bridge
   * Minor refactoring and code cleanup
   * The bulk of the classes in REEF-1939, 1938, and 1936
     were pulled from an uncommited pull request for REEF-1763
     implemented by Doug Service.

JIRA: [REEF-1939](

Pull Request:
  Closes #1406

13 months ago[REEF-1948] Add IREEFClient.NewJobRequestBuilder
Markus Weimer [Fri, 3 Nov 2017 16:46:18 +0000 (09:46 -0700)] 
[REEF-1948] Add IREEFClient.NewJobRequestBuilder

This adds the new API to `IREEFClient`.

To ease implementation and foster re-use, this also adds the new class
`JobRequestBuilderFactory`. It is used on all implementations of
`IREEFClient` to implement the new method.

Lastly, this changes `HelloREEF` to use the new API to demonstrate it to


Pull Request:
  This closes #1411

13 months ago[REEF-1942] Add ability for .NET Client to wait for Driver to complete.
Markus Weimer [Wed, 1 Nov 2017 17:28:14 +0000 (10:28 -0700)] 
[REEF-1942] Add ability for .NET Client to wait for Driver to complete.

  * Added `IJobSubmissionResult.WaitForDriverToFinish()` which blocks
    until the Driver is done. This uses a new HTTP handler on the Java
    side of the Driver.
  * Added `DriverStatusHTTPHandler` to REEF / Java to query the Driver's
    status via HTTP and added that Handler to the Driver Configuration
    used by REEF.NET.
  * Added a call to block at the end of HelloREEF.

This change also adds a bunch of infrastructure to make this more
informative in the future, e.g. `DriverStatus` in .NET. To keep this
focused, I did not expose that machinery.


Pull Request:
  This closes #1408

13 months ago[REEF-1938] Implement network transport for the Java-CLR bridge
Sergiy Matusevych [Fri, 27 Oct 2017 23:37:34 +0000 (16:37 -0700)] 
[REEF-1938] Implement network transport for the Java-CLR bridge

This PR is for the Java side of the bridge.

JIRA: [REEF-1938](

Pull Request
  Closes #1405

13 months ago[REEF-1936] Use dependency injection in C# ProtocolSerializer
Sergiy Matusevych [Thu, 26 Oct 2017 22:21:14 +0000 (15:21 -0700)] 
[REEF-1936] Use dependency injection in C# ProtocolSerializer

  Summary of changes:
    * Make `ProtocolSerializer` constructor injectible
    * Create named parameters for the constructor's input
    * Fix the `ProtocolSerializerTest` unit tests to use injection
    * Bugfix: register the `Header` protocol object regardless of the namespace
    * bugfix for the future PR: relax the type constraints in `ProtocolSerializer.Read()` to make injection easier for the observers.
    * Minor fixes to make code compliant with REEF condig standards and naming conventions
    * Minor refactoring


Pull Request:
  Closes #1402

13 months ago[REEF-1945] Unit test TestMetricsMessages fails in master
Sergiy Matusevych [Thu, 2 Nov 2017 00:57:24 +0000 (17:57 -0700)] 
[REEF-1945] Unit test TestMetricsMessages fails in master

Change the logging level of a message in `MetricsService` event handler from `Verbose` to `Info`.
That makes the unit test that checks for that message in the logs pass.

JIRA: [REEF-1945](

Closes #1409

13 months ago[REEF-1944] Remove Oracle JDK 7 from Travis CI
Mariia Mykhailova [Wed, 1 Nov 2017 18:27:34 +0000 (11:27 -0700)] 
[REEF-1944] Remove Oracle JDK 7 from Travis CI

Also, add a note about JDK versions used in CI

JIRA: [REEF-1944](

Pull request:
   This closes #1407

13 months ago[REEF-1733] Define Driver Metrics and observer
Julia Wang [Wed, 26 Jul 2017 02:29:42 +0000 (19:29 -0700)] 
[REEF-1733] Define Driver Metrics and observer

   * Add interface for DriverMetrics and impl
   * Add DriverMetricsObservers and configuration module
   * Let MetricsService implement IDriverMetrics observer
   * Update test driver and test case

JIRA: [REEF-1733](

This closes #1342

13 months ago[REEF-1937] Use Verbose log level in C# HelloREEF example
Sergiy Matusevych [Fri, 27 Oct 2017 22:14:39 +0000 (15:14 -0700)] 
[REEF-1937] Use Verbose log level in C# HelloREEF example


Pull Request:
  This closes #1403

13 months ago[REEF-1935] Improve logging in Wake NettyMessagingTransport and related classes
Sergiy Matusevych [Wed, 25 Oct 2017 23:37:35 +0000 (16:37 -0700)] 
[REEF-1935] Improve logging in Wake NettyMessagingTransport and related classes

Summary of changes:
   * Implement `.toString()` for `LinkReference`
   * Implement `.toString()` for `RemoteEventEncoder`
   * Implement `.toString()` for `NettyMessagingTransport`
   * Improve logging and remove redundant code in `NettyMessagingTransport` constructor


Pull Request:
  This closes #1401

13 months ago[REEF-1930] Update environmentVariablesMap name in .NET code
Julia Wang [Wed, 25 Oct 2017 04:59:22 +0000 (21:59 -0700)] 
[REEF-1930] Update environmentVariablesMap name in .NET code

  * Rename envMap to environmentVariablesMap
  * Remove the real env variable in HelloREEFYarn as it impacts the testing.


Pull Request:
  This closes #1399

13 months ago[REEF-1910] Fix TestResubmitEvaluator unit test failure
Julia Wang [Wed, 25 Oct 2017 18:57:29 +0000 (11:57 -0700)] 
[REEF-1910] Fix TestResubmitEvaluator unit test failure

Fix concurrency issue in the test driver.


Pull Request:
  This closes #1400

13 months ago[REEF-1898] REEF Runtime Mock
tcondie [Tue, 10 Oct 2017 19:47:30 +0000 (12:47 -0700)] 
[REEF-1898] REEF Runtime Mock

  This adds a new REEF mock runtime, which can be used to create
  regression tests for an application dirver.


Pull Request:
  This closes #1390

13 months ago[REEF-1907] Use proper generic parameters in HandlerContainer
Sergiy Matusevych [Thu, 19 Oct 2017 02:48:45 +0000 (19:48 -0700)] 
[REEF-1907] Use proper generic parameters in HandlerContainer


Pull Request:
  This closes #1397

13 months ago[REEF-1908] Implement .toString() for DefaultRemoteMessage
Sergiy Matusevych [Thu, 19 Oct 2017 02:52:17 +0000 (19:52 -0700)] 
[REEF-1908] Implement .toString() for DefaultRemoteMessage

JIRA: [REEF-1908](

Pull request:
  This closes #1396

13 months ago[REEF-1906] Make ProtocolSerializer java class injectable by Tang
Sergiy Matusevych [Thu, 19 Oct 2017 00:10:33 +0000 (17:10 -0700)] 
[REEF-1906] Make ProtocolSerializer java class injectable by Tang

Summary of changes:
   * Add `@Inject` annotation to `ProtocolSerializer` constructor
   * Create a named class `ProtocolSerializerNamespace`
   * Implement static `.getClassId()` method to get unified class ID available to all serialization code
   * Use injection in the `ProtocolSerializerTest` unit tests
   * Minor refactoring and logging improvements in message serialization code and around

JIRA: [REEF-1906](

Pull request:
  This closes #1395

13 months ago[REEF-1905] Create RemoteManager with given host and port; clean up the RM factory API
Sergiy Matusevych [Wed, 18 Oct 2017 23:40:33 +0000 (16:40 -0700)] 
[REEF-1905] Create RemoteManager with given host and port; clean up the RM factory API

Summary of changes:
   * Add a new `.getInstance()` method to create RM by a given host name and port number
   * remove duplicate code from `DefaultRemoteManagerImplementation` and call one uber-method for all `.getInstance()` versions

JIRA: [REEF-1905](

Pull request:
  This closes #1394

13 months ago[REEF-1902] Use external executor and Runnable in MultiAsyncToSync
Sergiy Matusevych [Wed, 18 Oct 2017 22:31:30 +0000 (15:31 -0700)] 
[REEF-1902] Use external executor and Runnable in MultiAsyncToSync

Summary of changes:
   * add a new `MultiAsyncToSync` constructor that takes an ExecutorService
   * make `MultiAsyncToSync` take `Runnable` instead of its subclass `FutureTask`
   * Use finer logging levels whenever possible
   * refactor the unut tests in `MultiAsyncToSyncTest`
   * minor fixes and refactorings in `MultiAsyncToSync` and `MultiAsyncToSyncTest`

JIRA: [REEF-1902](

Pull request:
  The closes #1391

13 months ago[REEF-1904] add toString() to LocalAddressProvider implementations
Sergiy Matusevych [Wed, 18 Oct 2017 23:31:24 +0000 (16:31 -0700)] 
[REEF-1904] add toString() to LocalAddressProvider implementations

We need this to improve log readability in the remote manager

JIRA: [REEF-1904](

Pull Request:
  This closes #1393

13 months ago[REEF-1909] Fix Compilation errors in VSC++ 2013 and 2015
Julia Wang [Fri, 20 Oct 2017 02:00:01 +0000 (19:00 -0700)] 
[REEF-1909] Fix Compilation errors in VSC++ 2013 and 2015

JIRA: [REEF-1909](

This closes #1398

13 months ago[REEF-1900] Add option for number of cores for the Driver in REEF Java
Markus Weimer [Thu, 12 Oct 2017 11:28:00 +0000 (13:28 +0200)] 
[REEF-1900] Add option for number of cores for the Driver in REEF Java

This adds all the plumbing to allow for the configuration of the Driver's CPU
cores in the REEF Java implementation.

  * Only the YARN and HDInsight runtimes read the new field.


Pull Request:
  This closes #1388

13 months ago[REEF-1903] Use Class.getCanonicalName() in HandlerContainer and RemoteManager
Sergiy Matusevych [Wed, 18 Oct 2017 23:22:15 +0000 (16:22 -0700)] 
[REEF-1903] Use Class.getCanonicalName() in HandlerContainer and RemoteManager

  Use `Class.getCanonicalName()` instead of just `.getName()` to log class
  names of the objects being handled by the
  `DefaultRemoteManagerImplementation` and the `HandlerContainer` to
  produce human-readable class names for objects like `byte[]` etc.


Pull Request:
  Closes #1392

13 months ago[REEF-1891] Allow passing job submission environment variables from .Net client
Julia Wang [Fri, 22 Sep 2017 23:23:28 +0000 (16:23 -0700)] 
[REEF-1891] Allow passing job submission environment variables from .Net client

* Update AvroYarnClusterJobSubmissionParameters schema for environment map
* Update Java bridge client to desterilize and set the map
* Set the map to ContainerLaunchContext
* Expose it in JobRequest and JobParameters in C#
* Serialize it in YarnREEFParamSerializer.
* Update unit test at both Java and C#
* Updated HelloREEFYarn to set it.


Pull request:
  This closes #1381

13 months ago[REEF-1895] REEF Bridge performance improvement for allocated evaluators
Julia Wang [Tue, 10 Oct 2017 03:19:31 +0000 (20:19 -0700)] 
[REEF-1895] REEF Bridge performance improvement for allocated evaluators

  * Remove synchronize in JobDriver for allocated evaluator/context handlers
  * Remove match code in AllocatedEvaluator in bridge as it is not used
  * Bridge code change to improve code runtime reuse
  * Reduce the cross bridge calls in AllocatedEvaluatorClr2Java
  * Adding performance test


Pull Request:
  This closes #1385

14 months ago[REEF-1505] Add instructions on running IMRU examples
Mariia Mykhailova [Thu, 5 Oct 2017 23:55:16 +0000 (16:55 -0700)] 
[REEF-1505] Add instructions on running IMRU examples

This change adds instructions on how to run our IMRU examples.

Following the decision we've made for such instructions,
we should place it next to the code, so that the instructions
can be kept in sync with the code they describe.


Pull request:
  This closes #1384

14 months ago[REEF-1899] Remove use of `Exceptions` in O.A.R.Client
Markus Weimer [Thu, 12 Oct 2017 09:48:14 +0000 (11:48 +0200)] 
[REEF-1899] Remove use of `Exceptions` in O.A.R.Client

This removes all use of the `Exceptions` class in O.A.R.Client


Pull Request:
  This closes #1387

14 months ago[REEF-1897] Turn the default .Net driver log level to `Info`
Julia Wang [Tue, 10 Oct 2017 19:26:34 +0000 (12:26 -0700)] 
[REEF-1897] Turn the default .Net driver log level to `Info`


Pull Request:
  This closes #1386

14 months ago[REEF-1892] Revert REEF-1827
Shouheng Yi [Wed, 27 Sep 2017 20:27:28 +0000 (13:27 -0700)] 
[REEF-1892] Revert REEF-1827

This reverts the changes of REEF-1827 as they created compatibility issues with
common HDFS clusters.

Note: this is the first of multiple commits associated with REEF-1892.


Pull Request:
  This closes #1383

14 months ago[REEF-1810] Migrate remaining project to .net core
Scott Inglis [Tue, 3 Oct 2017 20:34:53 +0000 (13:34 -0700)] 
[REEF-1810] Migrate remaining project to .net core

 - Added DotNet projects for the remaining projects
 - Projects are targeting the Bridge.CLR project
 - Code does build, but there are some test issues.
 - Some tests moved as skipped and marked with JIRAs. This only affects
 .net builds
 - Added TODO comments to the projects to track a JIRA for removing the
 .net451/.net46 platforms.


Pull Request:
  This closes #1382

14 months ago[REEF-1878] Allow multiple tokens to pass in from client
Julia Wang [Sat, 2 Sep 2017 02:05:53 +0000 (19:05 -0700)] 
[REEF-1878]  Allow multiple tokens to pass in from client

   * Added SecurityTokenWriter at .Net side
   * Added SecurityTOkenWriter at Java side
   * Added named parameters to allow .Net clients to pass tokens
   * Modified Java side to allow multiple tokens to be pass in
   * Support backward compitability
   * Added tests.

JIRA: [REEF-1878](

This closes #1372

14 months ago[REEF-1839] HelloREEF doesn't have instructions to use as a standalone application
roganc [Wed, 26 Jul 2017 18:39:48 +0000 (11:39 -0700)] 
[REEF-1839] HelloREEF doesn't have instructions to use as a standalone application

This addressed the issue by
   * Adding directions on how to use HelloREEF as a standalone application

JIRA: [REEF-1839](

This closes #1343

14 months ago[REEF-1885] Update the .NET Core projects to target .NET Core and Standard 2.0
Scott Inglis [Wed, 13 Sep 2017 20:24:09 +0000 (13:24 -0700)] 
[REEF-1885] Update the .NET Core projects to target .NET Core and Standard 2.0

This changes the .netcore projects (*.DotNet.csproj) to target netstandard2.0
for libraries and netcoreapp2.0 for tests. The commit includes the following:

 * Moving the target frameworks into the build.DotNetLibrary.props and
   build.DotNetApp.props. Projects no longer define their own target frameworks
   and now include the appropriate .props file.
 * Adding conditional references of C# libraries to separate what is referenced
   for .net core builds vs .net46 or .net451.
 * Updated the code that interfaces with the Windows Azure Storage library since
   the non-async calls are note available for .netcore. To keep the code
   consistent for .netcore and .net, the new code calls the appropriate async
   version of the API and blocks until the call is complete. This also updates
   the tests to do the same thing.
 * Additional changes to the xunit.DotNet.props to get tests working on all

With these changes, we can now build the existing DotNet projects on linux


Pull request:
  This closes #1379

15 months ago[REEF-1567] Update Json version to 10.0.3
Julia Wang [Tue, 12 Sep 2017 23:14:11 +0000 (16:14 -0700)] 
[REEF-1567] Update Json version to 10.0.3

JIRA: [REEF-1567](

Closes #1377

15 months ago[REEF-1883] Harmonize Protocol Buffers dependency version to 2.1.0
Markus Weimer [Tue, 12 Sep 2017 16:04:59 +0000 (09:04 -0700)] 
[REEF-1883] Harmonize Protocol Buffers dependency version to 2.1.0

This changes all references to `protobuf-net` in the `.nuspec` files to
reference version `2.1.0` of that package. We already depend on that version in
the `.csproj` files.


Pull Request:
  This closes #1375

15 months ago[REEF-1884] Fixed a missing `import` in `IFailureStateMachine.cs`
Markus Weimer [Tue, 12 Sep 2017 16:34:00 +0000 (09:34 -0700)] 
[REEF-1884] Fixed a missing `import` in `IFailureStateMachine.cs`


Pull Request:
  This closes #1376

15 months ago[REEF-1873] Driver side interfaces: service set up and failures
Matteo Interlandi [Mon, 4 Sep 2017 00:27:28 +0000 (17:27 -0700)] 
[REEF-1873] Driver side interfaces: service set up and failures

This addressed the issue by
   * adding Driver interfaces for the service, subscriptions and task sets.
   * adding Failures interfaces.

JIRA: [REEF-1873](

Pull request:
   This closes #1374

15 months ago[REEF-1879] Downgrade netty dependency to 4.0.23.Final
JangHo Seo [Sat, 2 Sep 2017 07:28:05 +0000 (16:28 +0900)] 
[REEF-1879] Downgrade netty dependency to 4.0.23.Final

This addressed the issue by
  * downgrading REEF to use Netty 4.0.23.Final for Hadoop compatibility
  * updating NameLookupClient to throw NamingException on replyQueue.poll timeout instead of NullPointerException


Pull request:
  This closes #1373

15 months ago[REEF-1875] Upgrade Netty depenency to 4.1.15Final
nhne [Thu, 31 Aug 2017 05:44:44 +0000 (14:44 +0900)] 
[REEF-1875] Upgrade Netty depenency to 4.1.15Final


Pull request:
  This closes #1371

15 months ago[REEF-1876] Support enums in named parameters in Tang.
Sergiy Matusevych [Fri, 1 Sep 2017 01:19:27 +0000 (18:19 -0700)] 
[REEF-1876] Support enums in named parameters in Tang.

Summary of changes:
   * Add support for simple Java enums in named parameters in Tang. Invoke a static method `.valueOf(String)` of the corresponding enum to instantiate an object, if necessary.
   * Add unit tests to check the new functionality for explicit and default enum parameters.


Pull request:
  This closes #1370

15 months ago[REEF-1827] new Uri(path) in REEF.NET IO Returns Lowercase String
Shouheng Yi [Thu, 13 Jul 2017 20:01:45 +0000 (13:01 -0700)] 
[REEF-1827] new Uri(path) in REEF.NET IO Returns Lowercase String

Fixed Uri lowercase problem in hdfs by passing .AbsolutePath in the dfs command.

JIRA: [REEF-1857](

Closes #1331

15 months ago[REEF-1842] Making IMRU task and input data association deterministic
Julia Wang [Thu, 27 Jul 2017 02:04:17 +0000 (19:04 -0700)] 
[REEF-1842]  Making IMRU task and input data association deterministic

   * Use partitionDescriptor id as part of the context id so that context id is associated with a fixed partitionDescriptor. Please notice that the partition descriptor id always follows the pattern like RandomInputPartition-x and is unique
   * Make contexts stored in a sorted collection to ensure tasks with associated context/partitionDescriptor are always add to group in the same sequence.

JIRA: [REEF-1842](

This closes #1346

15 months ago[REEF-1864] Utility to convert asynchronous API to synchronous.
Doug Service [Fri, 11 Aug 2017 01:41:29 +0000 (01:41 +0000)] 
[REEF-1864] Utility to convert asynchronous API to synchronous.


  * Adds condition variable class to manage sleep on condition variables.
  * Adds MultiAsyncToSynch class to for managing the callers of an API
    which is synchronous but is implmented asynchronously.
  * Adds MultiAsyncToSyncTest which verifies that non-timeout, timeout,
    and multiple non-timeout calls are complete correctly.

Pull Request:
  Closes #1365

15 months ago[REEF-1793] Add configuration options for local thread mode
interesaaat [Sat, 13 May 2017 06:25:27 +0000 (23:25 -0700)] 
[REEF-1793] Add configuration options for local thread mode

This adds configuration options for local thread mode.


Pull request:
  This closes #1304

15 months ago[REEF-1838] add API to Kill Yarn Job Application from .Net client
Julia Wang [Thu, 10 Aug 2017 03:08:26 +0000 (20:08 -0700)] 
[REEF-1838] add API to Kill Yarn Job Application from .Net client

  * Add API in IYarnREEFClient
  * Implement in YarnClient and YarnREEFClient
  * The  code is from #1352 and implemented on top of the latest interface change


Pull Request:
  This closes #1363

16 months ago[REEF-1867] Generate .sha512 instead of .sha512.txt in the release script
taegeonum [Thu, 17 Aug 2017 04:51:01 +0000 (13:51 +0900)] 
[REEF-1867] Generate .sha512 instead of .sha512.txt in the release script

JIRA: [REEF-1867](

Closes #1367

16 months ago[REEF-1862] Update the website for 0.16.0
taegeonum [Thu, 10 Aug 2017 16:20:39 +0000 (01:20 +0900)] 
[REEF-1862] Update the website for 0.16.0

JIRA: [REEF-1862](
This closes #1364

16 months ago[REEF-1865] Allow run individual unit tests
Sergiy Matusevych [Mon, 14 Aug 2017 22:57:05 +0000 (15:57 -0700)] 
[REEF-1865] Allow run individual unit tests


Pull Request:
  Closes #1366

16 months ago[REEF-1823] Support YARN API GetApplications() in .Net YarnREEFClient
Julia Wang [Wed, 9 Aug 2017 06:17:59 +0000 (23:17 -0700)] 
[REEF-1823] Support YARN API GetApplications() in .Net YarnREEFClient

This addressed the issue by
  * Exposing GetApplications in IYarnRMClient
  * Adding a IYarnREEFClient for Yarn specific functions
  * Implementing the new functionality in IYarnREEFClient
  * Updating YARNClientConfiguration to bind IYarnREEFClient to YarnREEFClient
  * Continuing to bind IREEFClient also to YarnREEFClient for backward compatibility
  * Adding test cases
  * Updating HelloREEFYarn to use the new API


Pull request:
  This closes #1361