You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by ju...@apache.org on 2016/09/23 22:26:28 UTC
reef git commit: [REEF-1518] Allow map and update functions in IMRU
be disposable
Repository: reef
Updated Branches:
refs/heads/master 9fd95d046 -> e8b7c08f0
[REEF-1518] Allow map and update functions in IMRU be disposable
This change adds disposing of map/update functions (if they are disposable)
to Map/UpdateTaskHost Dispose.
JIRA:
[REEF-1518](https://issues.apache.org/jira/browse/REEF-1518)
Pull request:
This closes #1130
Project: http://git-wip-us.apache.org/repos/asf/reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/e8b7c08f
Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/e8b7c08f
Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/e8b7c08f
Branch: refs/heads/master
Commit: e8b7c08f07a163d28f720974321220847bdb8623
Parents: 9fd95d0
Author: Mariia Mykhailova <ma...@apache.org>
Authored: Thu Sep 22 17:56:08 2016 -0700
Committer: Julia Wang <ju...@microsoft.com>
Committed: Fri Sep 23 15:21:34 2016 -0700
----------------------------------------------------------------------
.../OnREEF/IMRUTasks/MapTaskHost.cs | 14 ++++++++++++++
.../OnREEF/IMRUTasks/TaskHostBase.cs | 6 +++---
.../OnREEF/IMRUTasks/UpdateTaskHost.cs | 14 ++++++++++++++
3 files changed, 31 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/reef/blob/e8b7c08f/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/MapTaskHost.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/MapTaskHost.cs b/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/MapTaskHost.cs
index 7afa955..a9e2cb3 100644
--- a/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/MapTaskHost.cs
+++ b/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/MapTaskHost.cs
@@ -16,6 +16,7 @@
// under the License.
using System;
+using System.Threading;
using Org.Apache.REEF.Common.Tasks;
using Org.Apache.REEF.IMRU.API;
using Org.Apache.REEF.IMRU.OnREEF.Driver;
@@ -113,5 +114,18 @@ namespace Org.Apache.REEF.IMRU.OnREEF.IMRUTasks
{
get { return "MapTaskHost"; }
}
+
+ public override void Dispose()
+ {
+ if (Interlocked.Exchange(ref _disposed, 1) == 0)
+ {
+ _groupCommunicationsClient.Dispose();
+ var disposableTask = _mapTask as IDisposable;
+ if (disposableTask != null)
+ {
+ disposableTask.Dispose();
+ }
+ }
+ }
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/reef/blob/e8b7c08f/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/TaskHostBase.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/TaskHostBase.cs b/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/TaskHostBase.cs
index 3c26d90..874f586 100644
--- a/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/TaskHostBase.cs
+++ b/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/TaskHostBase.cs
@@ -36,12 +36,12 @@ namespace Org.Apache.REEF.IMRU.OnREEF.IMRUTasks
/// <summary>
/// Shows if the object has been disposed.
/// </summary>
- private int _disposed;
+ protected int _disposed;
/// <summary>
/// Group Communication client for the task
/// </summary>
- private readonly IGroupCommClient _groupCommunicationsClient;
+ protected readonly IGroupCommClient _groupCommunicationsClient;
/// <summary>
/// Task close Coordinator to handle the work when receiving task close event
@@ -157,7 +157,7 @@ namespace Org.Apache.REEF.IMRU.OnREEF.IMRUTasks
/// <summary>
/// Dispose function. Dispose IGroupCommunicationsClient.
/// </summary>
- public void Dispose()
+ public virtual void Dispose()
{
if (Interlocked.Exchange(ref _disposed, 1) == 0)
{
http://git-wip-us.apache.org/repos/asf/reef/blob/e8b7c08f/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/UpdateTaskHost.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/UpdateTaskHost.cs b/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/UpdateTaskHost.cs
index 60694e5..6c23b65 100644
--- a/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/UpdateTaskHost.cs
+++ b/lang/cs/Org.Apache.REEF.IMRU/OnREEF/IMRUTasks/UpdateTaskHost.cs
@@ -16,6 +16,7 @@
// under the License.
using System;
+using System.Threading;
using Org.Apache.REEF.Common.Tasks;
using Org.Apache.REEF.IMRU.API;
using Org.Apache.REEF.IMRU.OnREEF.Driver;
@@ -153,5 +154,18 @@ namespace Org.Apache.REEF.IMRU.OnREEF.IMRUTasks
{
get { return "UpdateTaskHost"; }
}
+
+ public override void Dispose()
+ {
+ if (Interlocked.Exchange(ref _disposed, 1) == 0)
+ {
+ _groupCommunicationsClient.Dispose();
+ var disposableTask = _updateTask as IDisposable;
+ if (disposableTask != null)
+ {
+ disposableTask.Dispose();
+ }
+ }
+ }
}
}
\ No newline at end of file