Repository: incubator-reef
Updated Branches:
  refs/heads/master c538cb74f -> 0d9dc4f47


[REEF-763] Remove automatic creation of the class hierarchy

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

Pull request:
  This closes #514


Project: http://git-wip-us.apache.org/repos/asf/incubator-reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-reef/commit/0d9dc4f4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-reef/tree/0d9dc4f4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-reef/diff/0d9dc4f4

Branch: refs/heads/master
Commit: 0d9dc4f47e1f84606949f2c96f468106d9860126
Parents: c538cb7
Author: Mariia Mykhailova <mar...@apache.org>
Authored: Tue Sep 22 13:31:35 2015 -0700
Committer: Julia Wang <jul...@apache.org>
Committed: Tue Sep 22 23:54:21 2015 -0700

----------------------------------------------------------------------
 ...assHierarchyGeneratingDriverStartObserver.cs | 117 -------------------
 .../DriverConfiguration.cs                      |   5 +-
 .../Org.Apache.REEF.Driver.csproj               |   1 -
 .../KMeans/KMeansDriverHandlers.cs              |  14 ---
 .../BroadcastReduceDriver.cs                    |  13 ---
 .../PipelinedBroadcastReduceDriver.cs           |  14 ---
 .../ScatterReduceDriver.cs                      |  14 ---
 .../Functional/Messaging/MessageDriver.cs       |  11 --
 8 files changed, 1 insertion(+), 188 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/0d9dc4f4/lang/cs/Org.Apache.REEF.Driver/ClassHierarchyGeneratingDriverStartObserver.cs
----------------------------------------------------------------------
diff --git 
a/lang/cs/Org.Apache.REEF.Driver/ClassHierarchyGeneratingDriverStartObserver.cs 
b/lang/cs/Org.Apache.REEF.Driver/ClassHierarchyGeneratingDriverStartObserver.cs
deleted file mode 100644
index 3efcfbf..0000000
--- 
a/lang/cs/Org.Apache.REEF.Driver/ClassHierarchyGeneratingDriverStartObserver.cs
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Runtime.InteropServices;
-using Org.Apache.REEF.Common.Files;
-using Org.Apache.REEF.Common.Tasks;
-using Org.Apache.REEF.Driver.Bridge;
-using Org.Apache.REEF.Tang.Annotations;
-using Org.Apache.REEF.Utilities.Logging;
-
-namespace Org.Apache.REEF.Driver
-{
-    /// <summary>
-    /// Utility class that generates the class hierarchy for the assemblies in 
the `global` folder.
-    /// </summary>
-    internal sealed class ClassHierarchyGeneratingDriverStartObserver : 
IObserver<IDriverStarted>, IObserver<IDriverRestarted>
-    {
-        private static readonly Logger Logger = 
Logger.GetLogger(typeof(ClassHierarchyGeneratingDriverStartObserver));
-
-        private readonly REEFFileNames _fileNames;
-        private ISet<string> _assemblies;
-
-        [Inject]
-        private ClassHierarchyGeneratingDriverStartObserver(REEFFileNames 
fileNames, 
[Parameter(typeof(DriverBridgeConfigurationOptions.SetOfAssemblies))] 
ISet<string> assemlies)
-        {
-            _assemblies = assemlies;
-            _fileNames = fileNames;
-        }
-
-        /// <summary>
-        /// Generates the class hierarchy file
-        /// </summary>
-        /// <param name="value"></param>
-        public void OnNext(IDriverStarted value)
-        {
-            GenerateClassHierarchyBin();
-        }
-
-        /// <summary>
-        /// Generates the class hierarchy file
-        /// </summary>
-        /// <param name="value"></param>
-        public void OnNext(IDriverRestarted value)
-        {
-            GenerateClassHierarchyBin();
-        }
-
-        /// <summary>
-        /// Silently ignored, assuming that a user-bound Observer will catch 
it.
-        /// </summary>
-        /// <param name="error"></param>
-        public void OnError(Exception error)
-        {
-            // Silently ignored, assuming that a user-bound Observer will 
catch it.
-        }
-
-        /// <summary>
-        /// Silently ignored, assuming that a user-bound Observer will catch 
it.
-        /// </summary>
-        public void OnCompleted()
-        {
-            // Silently ignored, assuming that a user-bound Observer will 
catch it.
-        }
-
-        /// <summary>
-        /// Generates the clr class hierarchy.
-        /// </summary>
-        private void GenerateClassHierarchyBin()
-        {
-            if (_assemblies != null && _assemblies.Count > 0)
-            {
-                //adding system level assemblies
-                _assemblies.Add(typeof(IDriver).Assembly.GetName().Name);
-                _assemblies.Add(typeof(ITask).Assembly.GetName().Name);
-
-                ClrHandlerHelper.GenerateClassHierarchy(_assemblies);
-            }
-            else
-            {
-                
ClrHandlerHelper.GenerateClassHierarchy(GetAssembliesInGlobalFolder());
-            }
-        }
-
-        /// <summary>
-        /// </summary>
-        /// <returns>The paths of all assemblies in the reef/global 
folder.</returns>
-        private ISet<string> GetAssembliesInGlobalFolder()
-        {
-            return new 
HashSet<string>(Directory.GetFiles(_fileNames.GetGlobalFolderPath())
-                .Where(e => !(string.IsNullOrWhiteSpace(e)))
-                .Select(Path.GetFullPath)
-                .Where(File.Exists)
-                .Where(Org.Apache.REEF.Tang.Util.AssemblyLoader.IsAssembly)
-                .Select(Path.GetFileNameWithoutExtension));
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/0d9dc4f4/lang/cs/Org.Apache.REEF.Driver/DriverConfiguration.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Driver/DriverConfiguration.cs 
b/lang/cs/Org.Apache.REEF.Driver/DriverConfiguration.cs
index 9047c04..c99036e 100644
--- a/lang/cs/Org.Apache.REEF.Driver/DriverConfiguration.cs
+++ b/lang/cs/Org.Apache.REEF.Driver/DriverConfiguration.cs
@@ -233,10 +233,7 @@ namespace Org.Apache.REEF.Driver
                         MaxApplicationSubmissions)
                     
.BindNamedParameter(GenericType<DriverBridgeConfigurationOptions.DriverRestartEvaluatorRecoverySeconds>.Class,
                         DriverRestartEvaluatorRecoverySeconds)
-                    .Build()
-                    // TODO: Move this up
-                    .Set(OnDriverStarted, 
GenericType<ClassHierarchyGeneratingDriverStartObserver>.Class)
-                    .Set(OnDriverRestarted, 
GenericType<ClassHierarchyGeneratingDriverStartObserver>.Class);
+                    .Build();
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/0d9dc4f4/lang/cs/Org.Apache.REEF.Driver/Org.Apache.REEF.Driver.csproj
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Driver/Org.Apache.REEF.Driver.csproj 
b/lang/cs/Org.Apache.REEF.Driver/Org.Apache.REEF.Driver.csproj
index dd0b2cd..e3e7d53 100644
--- a/lang/cs/Org.Apache.REEF.Driver/Org.Apache.REEF.Driver.csproj
+++ b/lang/cs/Org.Apache.REEF.Driver/Org.Apache.REEF.Driver.csproj
@@ -91,7 +91,6 @@ under the License.
     <Compile Include="Bridge\ILogger.cs" />
     <Compile Include="Bridge\ReefHttpRequest.cs" />
     <Compile Include="Bridge\ReefHttpResponse.cs" />
-    <Compile Include="ClassHierarchyGeneratingDriverStartObserver.cs" />
     <Compile Include="Constants.cs" />
     <Compile Include="Context\ContextConfiguration.cs" />
     <Compile Include="Context\ContextConfigurationOptions.cs" />

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/0d9dc4f4/lang/cs/Org.Apache.REEF.Examples/MachineLearning/KMeans/KMeansDriverHandlers.cs
----------------------------------------------------------------------
diff --git 
a/lang/cs/Org.Apache.REEF.Examples/MachineLearning/KMeans/KMeansDriverHandlers.cs
 
b/lang/cs/Org.Apache.REEF.Examples/MachineLearning/KMeans/KMeansDriverHandlers.cs
index 20f30a5..99934e2 100644
--- 
a/lang/cs/Org.Apache.REEF.Examples/MachineLearning/KMeans/KMeansDriverHandlers.cs
+++ 
b/lang/cs/Org.Apache.REEF.Examples/MachineLearning/KMeans/KMeansDriverHandlers.cs
@@ -122,8 +122,6 @@ namespace Org.Apache.REEF.Examples.MachineLearning.KMeans
                    .Build();
 
             _groupCommTaskStarter = new TaskStarter(_groupCommDriver, 
_totalEvaluators);
-
-            CreateClassHierarchy();  
         }
 
         public void OnNext(IAllocatedEvaluator allocatedEvaluator)
@@ -204,18 +202,6 @@ namespace Org.Apache.REEF.Examples.MachineLearning.KMeans
         {
             throw new NotImplementedException();
         }
-
-        private void CreateClassHierarchy()
-        {
-            HashSet<string> clrDlls = new HashSet<string>();
-            clrDlls.Add(typeof(IDriver).Assembly.GetName().Name);
-            clrDlls.Add(typeof(ITask).Assembly.GetName().Name);
-            clrDlls.Add(typeof(LegacyKMeansTask).Assembly.GetName().Name);
-            clrDlls.Add(typeof(INameClient).Assembly.GetName().Name);
-            clrDlls.Add(typeof(INetworkService<>).Assembly.GetName().Name);
-
-            ClrHandlerHelper.GenerateClassHierarchy(clrDlls);
-        }
     }
 
     [NamedParameter("Number of partitions")]

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/0d9dc4f4/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/BroadcastReduceDriverAndTasks/BroadcastReduceDriver.cs
----------------------------------------------------------------------
diff --git 
a/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/BroadcastReduceDriverAndTasks/BroadcastReduceDriver.cs
 
b/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/BroadcastReduceDriverAndTasks/BroadcastReduceDriver.cs
index 6f1ad0f..9220834 100644
--- 
a/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/BroadcastReduceDriverAndTasks/BroadcastReduceDriver.cs
+++ 
b/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/BroadcastReduceDriverAndTasks/BroadcastReduceDriver.cs
@@ -114,8 +114,6 @@ namespace 
Org.Apache.REEF.Network.Examples.GroupCommunication.BroadcastReduceDri
                     .Build();
 
             _groupCommTaskStarter = new TaskStarter(_groupCommDriver, 
numEvaluators);
-
-            CreateClassHierarchy();
         }
 
         public void OnNext(IAllocatedEvaluator allocatedEvaluator)
@@ -197,17 +195,6 @@ namespace 
Org.Apache.REEF.Network.Examples.GroupCommunication.BroadcastReduceDri
         {
         }
 
-        private void CreateClassHierarchy()
-        {
-            HashSet<string> clrDlls = new HashSet<string>();
-            clrDlls.Add(typeof(IDriver).Assembly.GetName().Name);
-            clrDlls.Add(typeof(ITask).Assembly.GetName().Name);
-            clrDlls.Add(typeof(BroadcastReduceDriver).Assembly.GetName().Name);
-            clrDlls.Add(typeof(INameClient).Assembly.GetName().Name);
-            clrDlls.Add(typeof(INetworkService<>).Assembly.GetName().Name);
-            ClrHandlerHelper.GenerateClassHierarchy(clrDlls);
-        }
-
         private class SumFunction : IReduceFunction<int>
         {
             [Inject]

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/0d9dc4f4/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/PipelineBroadcastReduceDriverAndTasks/PipelinedBroadcastReduceDriver.cs
----------------------------------------------------------------------
diff --git 
a/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/PipelineBroadcastReduceDriverAndTasks/PipelinedBroadcastReduceDriver.cs
 
b/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/PipelineBroadcastReduceDriverAndTasks/PipelinedBroadcastReduceDriver.cs
index 9fb9652..90c0709 100644
--- 
a/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/PipelineBroadcastReduceDriverAndTasks/PipelinedBroadcastReduceDriver.cs
+++ 
b/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/PipelineBroadcastReduceDriverAndTasks/PipelinedBroadcastReduceDriver.cs
@@ -124,8 +124,6 @@ namespace 
Org.Apache.REEF.Network.Examples.GroupCommunication.PipelineBroadcastR
                 .Build();
 
             _groupCommTaskStarter = new TaskStarter(_groupCommDriver, 
numEvaluators);
-
-            CreateClassHierarchy();
         }
 
         public void OnNext(IAllocatedEvaluator allocatedEvaluator)
@@ -211,18 +209,6 @@ namespace 
Org.Apache.REEF.Network.Examples.GroupCommunication.PipelineBroadcastR
             _evaluatorRequestor.Submit(request);
         }
 
-        private void CreateClassHierarchy()
-        {
-            var clrDlls = new HashSet<string>();
-            clrDlls.Add(typeof(IDriver).Assembly.GetName().Name);
-            clrDlls.Add(typeof(ITask).Assembly.GetName().Name);
-            
clrDlls.Add(typeof(PipelinedBroadcastReduceDriver).Assembly.GetName().Name);
-            clrDlls.Add(typeof(INameClient).Assembly.GetName().Name);
-            clrDlls.Add(typeof(INetworkService<>).Assembly.GetName().Name);
-
-            ClrHandlerHelper.GenerateClassHierarchy(clrDlls);
-        }
-
         private class SumFunction : IReduceFunction<int>
         {
             [Inject]

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/0d9dc4f4/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/ScatterReduceDriverAndTasks/ScatterReduceDriver.cs
----------------------------------------------------------------------
diff --git 
a/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/ScatterReduceDriverAndTasks/ScatterReduceDriver.cs
 
b/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/ScatterReduceDriverAndTasks/ScatterReduceDriver.cs
index eb4cf86..5953c31 100644
--- 
a/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/ScatterReduceDriverAndTasks/ScatterReduceDriver.cs
+++ 
b/lang/cs/Org.Apache.REEF.Network.Examples/GroupCommunication/ScatterReduceDriverAndTasks/ScatterReduceDriver.cs
@@ -101,8 +101,6 @@ namespace 
Org.Apache.REEF.Network.Examples.GroupCommunication.ScatterReduceDrive
                     .Build();
 
             _groupCommTaskStarter = new TaskStarter(_groupCommDriver, 
numEvaluators);
-
-            CreateClassHierarchy();
         }
 
         public void OnNext(IAllocatedEvaluator allocatedEvaluator)
@@ -167,18 +165,6 @@ namespace 
Org.Apache.REEF.Network.Examples.GroupCommunication.ScatterReduceDrive
         {
         }
 
-        private void CreateClassHierarchy()
-        {
-            HashSet<string> clrDlls = new HashSet<string>();
-            clrDlls.Add(typeof(IDriver).Assembly.GetName().Name);
-            clrDlls.Add(typeof(ITask).Assembly.GetName().Name);
-            clrDlls.Add(typeof(ScatterReduceDriver).Assembly.GetName().Name);
-            clrDlls.Add(typeof(INameClient).Assembly.GetName().Name);
-            clrDlls.Add(typeof(INetworkService<>).Assembly.GetName().Name);
-
-            ClrHandlerHelper.GenerateClassHierarchy(clrDlls);
-        }
-
         private class SumFunction : IReduceFunction<int>
         {
             [Inject]

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/0d9dc4f4/lang/cs/Org.Apache.REEF.Tests/Functional/Messaging/MessageDriver.cs
----------------------------------------------------------------------
diff --git 
a/lang/cs/Org.Apache.REEF.Tests/Functional/Messaging/MessageDriver.cs 
b/lang/cs/Org.Apache.REEF.Tests/Functional/Messaging/MessageDriver.cs
index e9d39f9..c809b2d 100644
--- a/lang/cs/Org.Apache.REEF.Tests/Functional/Messaging/MessageDriver.cs
+++ b/lang/cs/Org.Apache.REEF.Tests/Functional/Messaging/MessageDriver.cs
@@ -52,7 +52,6 @@ namespace Org.Apache.REEF.Tests.Functional.Messaging
         [Inject]
         public MessageDriver(IEvaluatorRequestor evaluatorRequestor)
         {
-            CreateClassHierarchy();
             _evaluatorRequestor = evaluatorRequestor;
         }
         public void OnNext(IAllocatedEvaluator eval)
@@ -113,15 +112,5 @@ namespace Org.Apache.REEF.Tests.Functional.Messaging
         {
             throw new NotImplementedException();
         }
-
-        private void CreateClassHierarchy()
-        {
-            HashSet<string> clrDlls = new HashSet<string>();
-            clrDlls.Add(typeof(IDriver).Assembly.GetName().Name);
-            clrDlls.Add(typeof(ITask).Assembly.GetName().Name);
-            clrDlls.Add(typeof(MessageTask).Assembly.GetName().Name);
-
-            ClrHandlerHelper.GenerateClassHierarchy(clrDlls);
-        }
     }
 }
\ No newline at end of file

Reply via email to