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