You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by we...@apache.org on 2015/02/05 22:05:41 UTC
[20/51] [partial] incubator-reef git commit: [REEF-131] Towards the
new .Net project structure This is to change .Net project structure for Tang,
Wake, REEF utilities, Common and Driver:
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/IRunningTask.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/IRunningTask.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/IRunningTask.cs
deleted file mode 100644
index 92a6887..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/IRunningTask.cs
+++ /dev/null
@@ -1,53 +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 Org.Apache.Reef.Utilities;
-using System;
-
-namespace Org.Apache.Reef.Common.Task
-{
- /// <summary>
- /// Represents a running Task
- /// </summary>
- public interface IRunningTask : IIdentifiable, IDisposable
- {
- /// <summary>
- /// Sends the message to the running task.
- /// </summary>
- /// <param name="message"></param>
- void OnNext(byte[] message);
-
- /// <summary>
- /// Signal the task to suspend.
- /// </summary>
- /// <param name="message">a message that is sent to the Task.</param>
- void Suspend(byte[] message);
-
- /// <summary>
- /// Sends the message to the running task.
- /// </summary>
- void Suspend();
-
- /// <summary>
- /// Signal the task to shut down.
- /// </summary>
- /// <param name="message">a message that is sent to the Task.</param>
- void Dispose(byte[] message);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/ITask.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/ITask.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/ITask.cs
deleted file mode 100644
index 3655a4b..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/ITask.cs
+++ /dev/null
@@ -1,28 +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;
-
-namespace Org.Apache.Reef.Tasks
-{
- public interface ITask : IDisposable
- {
- byte[] Call(byte[] memento);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/ITaskMessageSource.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/ITaskMessageSource.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/ITaskMessageSource.cs
deleted file mode 100644
index 589a445..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/ITaskMessageSource.cs
+++ /dev/null
@@ -1,31 +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 Org.Apache.Reef.Tasks.Defaults;
-using Org.Apache.Reef.Utilities;
-using Org.Apache.Reef.Tang.Annotations;
-
-namespace Org.Apache.Reef.Tasks
-{
- [DefaultImplementation(typeof(DefaultTaskMessageSource))]
- public interface ITaskMessageSource
- {
- Optional<TaskMessage> Message { get; set; }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/TaskConfiguration.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/TaskConfiguration.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/TaskConfiguration.cs
deleted file mode 100644
index 6fb386b..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/TaskConfiguration.cs
+++ /dev/null
@@ -1,148 +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 Org.Apache.Reef.Tasks.Events;
-using Org.Apache.Reef.Utilities.Logging;
-using Org.Apache.Reef.Tang.Formats;
-using Org.Apache.Reef.Tang.Interface;
-using Org.Apache.Reef.Tang.Util;
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-
-[module: SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1401:FieldsMustBePrivate", Justification = "static readonly field, typical usage in configurations")]
-
-namespace Org.Apache.Reef.Tasks
-{
- public class TaskConfiguration : ConfigurationModuleBuilder
- {
- // this is a hack for getting the task identifier for now
- public const string TaskIdentifier = "TaskConfigurationOptions+Identifier";
-
- /// <summary>
- /// The identifier of the task.
- /// </summary>
- [SuppressMessage("Microsoft.Security", "CA2104:Do not declare read only mutable reference types", Justification = "not applicable")]
- public static readonly RequiredParameter<string> Identifier = new RequiredParameter<string>();
-
- /// <summary>
- /// The task to instantiate.
- /// </summary>
- [SuppressMessage("Microsoft.Security", "CA2104:Do not declare read only mutable reference types", Justification = "not applicable")]
- public static readonly RequiredImpl<ITask> Task = new RequiredImpl<ITask>();
-
- /// <summary>
- /// for task suspension. Defaults to task failure if not bound.
- /// </summary>
- [SuppressMessage("Microsoft.Security", "CA2104:Do not declare read only mutable reference types", Justification = "not applicable")]
- public static readonly OptionalImpl<IObserver<ISuspendEvent>> OnSuspend = new OptionalImpl<IObserver<ISuspendEvent>>();
-
- /// <summary>
- /// for messages from the driver. Defaults to task failure if not bound.
- /// </summary>
- [SuppressMessage("Microsoft.Security", "CA2104:Do not declare read only mutable reference types", Justification = "not applicable")]
- public static readonly OptionalImpl<IDriverMessageHandler> OnMessage = new OptionalImpl<IDriverMessageHandler>();
-
- /// <summary>
- /// for closure requests from the driver. Defaults to task failure if not bound.
- /// </summary>
- [SuppressMessage("Microsoft.Security", "CA2104:Do not declare read only mutable reference types", Justification = "not applicable")]
- public static readonly OptionalImpl<IObserver<ICloseEvent>> OnClose = new OptionalImpl<IObserver<ICloseEvent>>();
-
- /// <summary>
- /// Message source invoked upon each evaluator heartbeat.
- /// </summary>
- [SuppressMessage("Microsoft.Security", "CA2104:Do not declare read only mutable reference types", Justification = "not applicable")]
- public static readonly OptionalImpl<ITaskMessageSource> OnSendMessage = new OptionalImpl<ITaskMessageSource>();
-
- /// <summary>
- /// to receive TaskStart after the Task.call() method was called.
- /// </summary>
- [SuppressMessage("Microsoft.Security", "CA2104:Do not declare read only mutable reference types", Justification = "not applicable")]
- public static readonly OptionalImpl<IObserver<ITaskStart>> OnTaskStart = new OptionalImpl<IObserver<ITaskStart>>();
-
- /// <summary>
- /// to receive TaskStop after the Task.call() method returned.
- /// </summary>
- [SuppressMessage("Microsoft.Security", "CA2104:Do not declare read only mutable reference types", Justification = "not applicable")]
- public static readonly OptionalImpl<IObserver<ITaskStop>> OnTaskStop = new OptionalImpl<IObserver<ITaskStop>>();
-
- /// <summary>
- /// The memento to be passed to Task.call().
- /// </summary>
- [SuppressMessage("Microsoft.Security", "CA2104:Do not declare read only mutable reference types", Justification = "not applicable")]
- public static readonly OptionalParameter<string> Memento = new OptionalParameter<string>();
-
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(TaskConfiguration));
-
- public TaskConfiguration()
- : base()
- {
- }
-
- public TaskConfiguration(string configString)
- {
- TangConfig = new AvroConfigurationSerializer().FromString(configString);
- AvroConfiguration avroConfiguration = AvroConfiguration.GetAvroConfigurationFromEmbeddedString(configString);
- foreach (ConfigurationEntry config in avroConfiguration.Bindings)
- {
- if (config.key.Contains(TaskIdentifier))
- {
- TaskId = config.value;
- }
- }
- if (string.IsNullOrWhiteSpace(TaskId))
- {
- string msg = "Required parameter TaskId not provided.";
- LOGGER.Log(Level.Error, msg);
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ArgumentException(msg), LOGGER);
- }
- }
-
- public static ConfigurationModule ConfigurationModule
- {
- get
- {
- return new TaskConfiguration()
- .BindImplementation(GenericType<ITask>.Class, Task)
- .BindImplementation(GenericType<ITaskMessageSource>.Class, OnSendMessage)
- .BindImplementation(GenericType<IDriverMessageHandler>.Class, OnMessage)
- .BindNamedParameter(GenericType<TaskConfigurationOptions.Identifier>.Class, Identifier)
- .BindNamedParameter(GenericType<TaskConfigurationOptions.Memento>.Class, Memento)
- .BindNamedParameter(GenericType<TaskConfigurationOptions.CloseHandler>.Class, OnClose)
- .BindNamedParameter(GenericType<TaskConfigurationOptions.SuspendHandler>.Class, OnSuspend)
- .BindSetEntry(GenericType<TaskConfigurationOptions.StartHandlers>.Class, OnTaskStart)
- .BindSetEntry(GenericType<TaskConfigurationOptions.StopHandlers>.Class, OnTaskStop)
- .Build();
- }
- }
-
- public string TaskId { get; private set; }
-
- public IList<KeyValuePair<string, string>> Configurations { get; private set; }
-
- public IConfiguration TangConfig { get; private set; }
-
- public override string ToString()
- {
- return string.Format(CultureInfo.InvariantCulture, "TaskConfiguration - configurations: {0}", TangConfig.ToString());
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/TaskConfigurationOptions.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/TaskConfigurationOptions.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/TaskConfigurationOptions.cs
deleted file mode 100644
index 888faf0..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/TaskConfigurationOptions.cs
+++ /dev/null
@@ -1,69 +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 Org.Apache.Reef.Tasks.Events;
-using Org.Apache.Reef.Tang.Annotations;
-using System;
-using System.Collections.Generic;
-
-namespace Org.Apache.Reef.Tasks
-{
- public class TaskConfigurationOptions
- {
- [NamedParameter("The Identifier of the Task", "taskid", "Task")]
- public class Identifier : Name<string>
- {
- }
-
- [NamedParameter(documentation: "The memento to be used for the Task")]
- public class Memento : Name<string>
- {
- }
-
- [NamedParameter("TaskMessageSource", "messagesource", null)]
- public class TaskMessageSources : Name<ISet<ITaskMessageSource>>
- {
- }
-
- [NamedParameter(documentation: "The set of event handlers for the TaskStart event.")]
- public class StartHandlers : Name<ISet<IObserver<ITaskStart>>>
- {
- }
-
- [NamedParameter(documentation: "The set of event handlers for the TaskStop event.")]
- public class StopHandlers : Name<ISet<IObserver<ITaskStop>>>
- {
- }
-
- [NamedParameter(documentation: "The event handler that receives the close event.")]
- public class CloseHandler : Name<IObserver<ICloseEvent>>
- {
- }
-
- [NamedParameter(documentation: "The event handler that receives the suspend event.")]
- public class SuspendHandler : Name<IObserver<ISuspendEvent>>
- {
- }
-
- [NamedParameter(documentation: "The event handler that receives messages from the driver.")]
- public class MessageHandler : Name<IObserver<IDriverMessage>>
- {
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/TaskMessage.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/TaskMessage.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/TaskMessage.cs
deleted file mode 100644
index 20defce..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/TaskMessage.cs
+++ /dev/null
@@ -1,68 +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 Org.Apache.Reef.Utilities;
-using System;
-using Org.Apache.Reef.Utilities.Logging;
-
-namespace Org.Apache.Reef.Tasks
-{
- public class TaskMessage : IMessage
- {
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(TaskMessage));
- private readonly string _messageSourcId;
- private readonly byte[] _bytes;
-
- private TaskMessage(string messageSourceId, byte[] bytes)
- {
- _messageSourcId = messageSourceId;
- _bytes = bytes;
- }
-
- public string MessageSourceId
- {
- get { return _messageSourcId; }
- }
-
- public byte[] Message
- {
- get { return _bytes; }
- set { }
- }
-
- /// <summary>
- /// From byte[] message to a TaskMessage
- /// </summary>
- /// <param name="messageSourceId">messageSourceId The message's sourceID. This will be accessible in the Driver for routing</param>
- /// <param name="message">The actual content of the message, serialized into a byte[]</param>
- /// <returns>a new TaskMessage with the given content</returns>
- public static TaskMessage From(string messageSourceId, byte[] message)
- {
- if (string.IsNullOrEmpty(messageSourceId))
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ArgumentNullException("messageSourceId"), LOGGER);
- }
- if (message == null)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ArgumentNullException("bytes"), LOGGER);
- }
- return new TaskMessage(messageSourceId, message);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/defaults/DefaultDriverMessageHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/defaults/DefaultDriverMessageHandler.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/defaults/DefaultDriverMessageHandler.cs
deleted file mode 100644
index f77e18d..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/defaults/DefaultDriverMessageHandler.cs
+++ /dev/null
@@ -1,42 +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 Org.Apache.Reef.Tasks.Events;
-using Org.Apache.Reef.Utilities.Diagnostics;
-using Org.Apache.Reef.Utilities.Logging;
-using Org.Apache.Reef.Tang.Annotations;
-using System;
-
-namespace Org.Apache.Reef.Tasks.Defaults
-{
- public class DefaultDriverMessageHandler : IDriverMessageHandler
- {
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(DefaultDriverMessageHandler));
-
- [Inject]
- public DefaultDriverMessageHandler()
- {
- }
-
- public void Handle(IDriverMessage message)
- {
- Exceptions.Throw(new InvalidOperationException("No DriverMessage handler bound. Message received" + message), LOGGER);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/defaults/DefaultTaskMessageSource.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/defaults/DefaultTaskMessageSource.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/defaults/DefaultTaskMessageSource.cs
deleted file mode 100644
index 97b52db..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/defaults/DefaultTaskMessageSource.cs
+++ /dev/null
@@ -1,49 +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 Org.Apache.Reef.Utilities;
-using Org.Apache.Reef.Tang.Annotations;
-using System;
-using System.Globalization;
-
-namespace Org.Apache.Reef.Tasks.Defaults
-{
- public class DefaultTaskMessageSource : ITaskMessageSource
- {
- [Inject]
- public DefaultTaskMessageSource()
- {
- }
-
- public Optional<TaskMessage> Message
- {
- get
- {
- TaskMessage defaultTaskMessage = TaskMessage.From(
- "defaultSourceId",
- ByteUtilities.StringToByteArrays("default message generated at " + DateTime.Now.ToString(CultureInfo.InvariantCulture)));
- return Optional<TaskMessage>.Of(defaultTaskMessage);
- }
-
- set
- {
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ICloseEvent.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ICloseEvent.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ICloseEvent.cs
deleted file mode 100644
index 3ff9ccf..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ICloseEvent.cs
+++ /dev/null
@@ -1,28 +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 Org.Apache.Reef.Utilities;
-
-namespace Org.Apache.Reef.Tasks.Events
-{
- public interface ICloseEvent
- {
- Optional<byte[]> Value { get; set; }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/IDriverMessage.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/IDriverMessage.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/IDriverMessage.cs
deleted file mode 100644
index 9ac120d..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/IDriverMessage.cs
+++ /dev/null
@@ -1,28 +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 Org.Apache.Reef.Utilities;
-
-namespace Org.Apache.Reef.Tasks.Events
-{
- public interface IDriverMessage
- {
- Optional<byte[]> Message { get; }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ISuspendEvent.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ISuspendEvent.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ISuspendEvent.cs
deleted file mode 100644
index 218a28f..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ISuspendEvent.cs
+++ /dev/null
@@ -1,25 +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.
- */
-
-namespace Org.Apache.Reef.Tasks.Events
-{
- public interface ISuspendEvent
- {
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ITaskStart.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ITaskStart.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ITaskStart.cs
deleted file mode 100644
index bcde0b3..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ITaskStart.cs
+++ /dev/null
@@ -1,26 +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.
- */
-
-namespace Org.Apache.Reef.Tasks.Events
-{
- public interface ITaskStart
- {
- string Id { get; set; }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ITaskStop.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ITaskStop.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ITaskStop.cs
deleted file mode 100644
index 5e8ebc8..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/tasks/events/ITaskStop.cs
+++ /dev/null
@@ -1,26 +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.
- */
-
-namespace Org.Apache.Reef.Tasks.Events
-{
- public interface ITaskStop
- {
- string Id { get; }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefDriver/ClientManager.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefDriver/ClientManager.cs b/lang/cs/Source/REEF/reef-common/ReefDriver/ClientManager.cs
deleted file mode 100644
index 3cd3e15..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefDriver/ClientManager.cs
+++ /dev/null
@@ -1,43 +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 Org.Apache.Reef.Common.ProtoBuf.ClienRuntimeProto;
-using System;
-
-// TODO
-namespace Org.Apache.Reef.Driver
-{
- public class ClientManager : IObserver<JobControlProto>
- {
- public void OnNext(JobControlProto value)
- {
- throw new NotImplementedException();
- }
-
- public void OnError(Exception error)
- {
- throw new NotImplementedException();
- }
-
- public void OnCompleted()
- {
- throw new NotImplementedException();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefDriver/Constants.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefDriver/Constants.cs b/lang/cs/Source/REEF/reef-common/ReefDriver/Constants.cs
deleted file mode 100644
index 4e8e68c..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefDriver/Constants.cs
+++ /dev/null
@@ -1,114 +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.Collections.Generic;
-
-namespace Org.Apache.Reef.Driver
-{
- public class Constants
- {
- public const ulong NullHandler = 0;
-
- public const string ClassHierarachyBin = "clrClassHierarchy.bin";
-
- public const string GlobalUserSuppliedJavaLibraries = "userSuppliedGlobalLibraries.txt";
-
- public const int DefaultMemoryGranularity = 1024;
-
- public const int HandlersNumber = 17;
-
- public const string EvaluatorRequestorHandler = "EvaluatorRequestor";
-
- public const string AllocatedEvaluatorHandler = "AllocatedEvaluator";
-
- public const string CompletedEvaluatorHandler = "CompletedEvaluator";
-
- public const string ActiveContextHandler = "ActiveContext";
-
- public const string ClosedContextHandler = "ClosedContext";
-
- public const string FailedContextHandler = "FailedContext";
-
- public const string ContextMessageHandler = "ContextMessage";
-
- public const string TaskMessageHandler = "TaskMessage";
-
- public const string FailedTaskHandler = "FailedTask";
-
- public const string RunningTaskHandler = "RunningTask";
-
- public const string FailedEvaluatorHandler = "FailedEvaluator";
-
- public const string CompletedTaskHandler = "CompletedTask";
-
- public const string SuspendedTaskHandler = "SuspendedTask";
-
- public const string HttpServerHandler = "HttpServerHandler";
-
- public const string DriverRestartHandler = "DriverRestart";
-
- public const string DriverRestartActiveContextHandler = "DriverRestartActiveContext";
-
- public const string DriverRestartRunningTaskHandler = "DriverRestartRunningTask";
-
- public const string DriverBridgeConfiguration = Common.Constants.ClrBridgeRuntimeConfiguration;
-
- public const string DriverAppDirectory = "ReefDriverAppDlls";
-
- public const string BridgeJarFileName = "reef-bridge-0.11.0-incubating-SNAPSHOT-shaded.jar";
-
- public const string BridgeLaunchClass = "org.apache.reef.javabridge.generic.Launch";
-
- public const string BridgeLaunchHeadlessClass = "org.apache.reef.javabridge.generic.LaunchHeadless";
-
- public const string DirectLauncherClass = "org.apache.reef.runtime.common.Launcher";
-
- public const string JavaToCLRLoggingConfig = "-Djava.util.logging.config.class=org.apache.reef.util.logging.CLRLoggingConfig";
-
- public const string JavaVerboseLoggingConfig = "-Djava.util.logging.config.class=org.apache.reef.util.logging.Config";
-
- public static Dictionary<string, int> Handlers
- {
- get
- {
- return
- new Dictionary<string, int>()
- {
- { EvaluatorRequestorHandler, 0 },
- { AllocatedEvaluatorHandler, 1 },
- { ActiveContextHandler, 2 },
- { TaskMessageHandler, 3 },
- { FailedTaskHandler, 4 },
- { FailedEvaluatorHandler, 5 },
- { HttpServerHandler, 6 },
- { CompletedTaskHandler, 7 },
- { RunningTaskHandler, 8 },
- { SuspendedTaskHandler, 9 },
- { CompletedEvaluatorHandler, 10 },
- { ClosedContextHandler, 11 },
- { FailedContextHandler, 12 },
- { ContextMessageHandler, 13 },
- { DriverRestartHandler, 14 },
- { DriverRestartActiveContextHandler, 15 },
- { DriverRestartRunningTaskHandler, 16 },
- };
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefDriver/DriverConfigGenerator.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefDriver/DriverConfigGenerator.cs b/lang/cs/Source/REEF/reef-common/ReefDriver/DriverConfigGenerator.cs
deleted file mode 100644
index 46c56c5..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefDriver/DriverConfigGenerator.cs
+++ /dev/null
@@ -1,151 +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.Collections.Generic;
-using System.Globalization;
-using System.IO;
-using Org.Apache.Reef.Driver.bridge;
-using Org.Apache.Reef.Utilities.Logging;
-using Org.Apache.Reef.Tang.Formats;
-using Org.Apache.Reef.Tang.Implementations.Configuration;
-using Org.Apache.Reef.Tang.Interface;
-using Org.Apache.Reef.Tang.Protobuf;
-
-namespace Org.Apache.Reef.Driver
-{
- public class DriverConfigGenerator
- {
- public const string DriverConfigFile = "driver.config";
- public const string JobDriverConfigFile = "jobDriver.config";
- public const string DriverChFile = "driverClassHierarchy.bin";
- public const string HttpServerConfigFile = "httpServer.config";
- public const string NameServerConfigFile = "nameServer.config";
- public const string UserSuppliedGlobalLibraries = "userSuppliedGlobalLibraries.txt";
-
- private static readonly Logger Log = Logger.GetLogger(typeof(DriverConfigGenerator));
-
- public static void DriverConfigurationBuilder(DriverConfigurationSettings driverConfigurationSettings)
- {
- ExtractConfigFromJar(driverConfigurationSettings.JarFileFolder);
-
- if (!File.Exists(DriverChFile))
- {
- Log.Log(Level.Warning, string.Format(CultureInfo.CurrentCulture, "There is no file {0} extracted from the jar file at {1}.", DriverChFile, driverConfigurationSettings.JarFileFolder));
- return;
- }
-
- if (!File.Exists(HttpServerConfigFile))
- {
- Log.Log(Level.Warning, string.Format(CultureInfo.CurrentCulture, "There is no file {0} extracted from the jar file at {1}.", HttpServerConfigFile, driverConfigurationSettings.JarFileFolder));
- return;
- }
-
- if (!File.Exists(JobDriverConfigFile))
- {
- Log.Log(Level.Warning, string.Format(CultureInfo.CurrentCulture, "There is no file {0} extracted from the jar file at {1}.", JobDriverConfigFile, driverConfigurationSettings.JarFileFolder));
- return;
- }
-
- if (!File.Exists(NameServerConfigFile))
- {
- Log.Log(Level.Warning, string.Format(CultureInfo.CurrentCulture, "There is no file {0} extracted from the jar file at {1}.", NameServerConfigFile, driverConfigurationSettings.JarFileFolder));
- return;
- }
-
- AvroConfigurationSerializer serializer = new AvroConfigurationSerializer();
-
- IClassHierarchy drvierClassHierarchy = ProtocolBufferClassHierarchy.DeSerialize(DriverChFile);
-
- AvroConfiguration jobDriverAvroconfiguration = serializer.AvroDeseriaizeFromFile(JobDriverConfigFile);
- IConfiguration jobDriverConfiguration = serializer.FromAvro(jobDriverAvroconfiguration, drvierClassHierarchy);
-
- AvroConfiguration httpAvroconfiguration = serializer.AvroDeseriaizeFromFile(HttpServerConfigFile);
- IConfiguration httpConfiguration = serializer.FromAvro(httpAvroconfiguration, drvierClassHierarchy);
-
- AvroConfiguration nameAvroconfiguration = serializer.AvroDeseriaizeFromFile(NameServerConfigFile);
- IConfiguration nameConfiguration = serializer.FromAvro(nameAvroconfiguration, drvierClassHierarchy);
-
- IConfiguration merged;
-
- if (driverConfigurationSettings.IncludingHttpServer && driverConfigurationSettings.IncludingNameServer)
- {
- merged = Configurations.MergeDeserializedConfs(jobDriverConfiguration, httpConfiguration, nameConfiguration);
- }
- else if (driverConfigurationSettings.IncludingHttpServer)
- {
- merged = Configurations.MergeDeserializedConfs(jobDriverConfiguration, httpConfiguration);
- }
- else if (driverConfigurationSettings.IncludingNameServer)
- {
- merged = Configurations.MergeDeserializedConfs(jobDriverConfiguration, nameConfiguration);
- }
- else
- {
- merged = jobDriverConfiguration;
- }
-
- var b = merged.newBuilder();
-
- b.BindSetEntry("org.apache.reef.driver.parameters.DriverIdentifier", driverConfigurationSettings.DriverIdentifier);
- b.Bind("org.apache.reef.driver.parameters.DriverMemory", driverConfigurationSettings.DriverMemory.ToString(CultureInfo.CurrentCulture));
- b.Bind("org.apache.reef.driver.parameters.DriverJobSubmissionDirectory", driverConfigurationSettings.SubmissionDirectory);
-
- //add for all the globallibaries
- if (File.Exists(UserSuppliedGlobalLibraries))
- {
- var globalLibString = File.ReadAllText(UserSuppliedGlobalLibraries);
- if (!string.IsNullOrEmpty(globalLibString))
- {
- foreach (string fname in globalLibString.Split(','))
- {
- b.BindSetEntry("org.apache.reef.driver.parameters.JobGlobalLibraries", fname);
- }
- }
- }
-
- foreach (string f in Directory.GetFiles(driverConfigurationSettings.ClrFolder))
- {
- b.BindSetEntry("org.apache.reef.driver.parameters.JobGlobalFiles", f);
- }
-
- IConfiguration c = b.Build();
-
- serializer.ToFile(c, DriverConfigFile);
-
- Log.Log(Level.Info, string.Format(CultureInfo.CurrentCulture, "driver.config is written to: {0} {1}.", Directory.GetCurrentDirectory(), DriverConfigFile));
-
- //additional file for easy to read
- using (StreamWriter outfile = new StreamWriter(DriverConfigFile + ".txt"))
- {
- outfile.Write(serializer.ToString(c));
- }
- }
-
- private static void ExtractConfigFromJar(string jarfileFolder)
- {
- string jarfile = jarfileFolder + Constants.BridgeJarFileName;
- List<string> files = new List<string>();
- files.Add(DriverConfigGenerator.HttpServerConfigFile);
- files.Add(DriverConfigGenerator.JobDriverConfigFile);
- files.Add(DriverConfigGenerator.NameServerConfigFile);
- files.Add(DriverConfigGenerator.DriverChFile);
- ClrClientHelper.ExtractConfigfileFromJar(jarfile, files, ".");
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefDriver/DriverConfigurationSettings.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefDriver/DriverConfigurationSettings.cs b/lang/cs/Source/REEF/reef-common/ReefDriver/DriverConfigurationSettings.cs
deleted file mode 100644
index 463e983..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefDriver/DriverConfigurationSettings.cs
+++ /dev/null
@@ -1,135 +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 Org.Apache.Reef.Utilities.Logging;
-
-namespace Org.Apache.Reef.Driver
-{
- public class DriverConfigurationSettings
- {
- // default to "ReefDevClrBridge"
- private string _driverIdentifier = "ReefDevClrBridge";
-
- // default to _defaultSubmissionDirectory if not provided
- private string _submissionDirectory = "reefTmp/job_" + DateTime.Now.Millisecond;
-
- // deault to 512MB if no value is provided
- private int _driverMemory = 512;
-
- // folder path that constains clr dlls used by reef
- private string _clrFolder = ".";
-
- // folder that contains jar File provided Byte REEF
- private string _jarFileFolder = ".";
-
- // default to true if no value is specified
- private bool _includeHttpServer = true;
-
- // default to true if no value is specified
- private bool _includeNameServer = true;
-
- /// <summary>
- /// Memory allocated for driver, default to 512 MB
- /// </summary>
- public int DriverMemory
- {
- get
- {
- return _driverMemory;
- }
-
- set
- {
- if (value < 0)
- {
- throw new ArgumentException("driver memory cannot be negatvie value.");
- }
- _driverMemory = value;
- }
- }
-
- /// <summary>
- /// Gets or sets a value indicating whether including name server in the config file.
- /// </summary>
- /// <value>
- /// <c>true</c> if [including name server]; otherwise, <c>false</c>.
- /// </value>
- public bool IncludingNameServer
- {
- get { return _includeNameServer; }
- set { _includeNameServer = value; }
- }
-
- /// <summary>
- /// Gets or sets a value indicating whether including HTTP server in the config file.
- /// </summary>
- /// <value>
- /// <c>true</c> if [including HTTP server]; otherwise, <c>false</c>.
- /// </value>
- public bool IncludingHttpServer
- {
- get { return _includeHttpServer; }
- set { _includeHttpServer = value; }
- }
-
- /// <summary>
- /// Driver Identifier, default to "ReefDevClrBridge"
- /// </summary>
- public string DriverIdentifier
- {
- get { return _driverIdentifier; }
- set { _driverIdentifier = value; }
- }
-
- /// <summary>
- /// Driver job submission directory in (H)DFS where jar file shall be uploaded, default to a tmp directory with GUID name
- /// If set by CLR user, the user must guarantee the uniquness of the directory across multiple jobs
- /// </summary>
- public string SubmissionDirectory
- {
- get { return _submissionDirectory; }
- set { _submissionDirectory = value; }
- }
-
- /// <summary>
- /// Gets or sets the CLR folder.
- /// </summary>
- /// <value>
- /// The CLR folder.
- /// </value>
- public string ClrFolder
- {
- get { return this._clrFolder; }
- set { _clrFolder = value; }
- }
-
- /// <summary>
- /// Gets or sets the jar file folder.
- /// </summary>
- /// <value>
- /// The jar file folder.
- /// </value>
- public string JarFileFolder
- {
- get { return this._jarFileFolder; }
- set { _jarFileFolder = value; }
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefDriver/DriverManager.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefDriver/DriverManager.cs b/lang/cs/Source/REEF/reef-common/ReefDriver/DriverManager.cs
deleted file mode 100644
index b0efc2a..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefDriver/DriverManager.cs
+++ /dev/null
@@ -1,540 +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 Org.Apache.Reef.Common;
-using Org.Apache.Reef.Common.Api;
-using Org.Apache.Reef.Common.Catalog;
-using Org.Apache.Reef.Common.Evaluator;
-using Org.Apache.Reef.Common.Exceptions;
-using Org.Apache.Reef.Common.ProtoBuf.DriverRuntimeProto;
-using Org.Apache.Reef.Common.ProtoBuf.EvaluatorRunTimeProto;
-using Org.Apache.Reef.Common.ProtoBuf.ReefProtocol;
-using Org.Apache.Reef.Common.ProtoBuf.ReefServiceProto;
-using Org.Apache.Reef.Driver.Bridge;
-using Org.Apache.Reef.Driver.Evaluator;
-using Org.Apache.Reef.Utilities;
-using Org.Apache.Reef.Utilities.Diagnostics;
-using Org.Apache.Reef.Utilities.Logging;
-using Org.Apache.Reef.Tang.Implementations;
-using Org.Apache.Reef.Tang.Interface;
-using Org.Apache.Reef.Wake.Remote;
-using Org.Apache.Reef.Wake.Time;
-using Org.Apache.Reef.Wake.Time.Runtime.Event;
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-
-namespace Org.Apache.Reef.Driver
-{
- public class DriverManager :
- IEvaluatorRequestor,
- IObserver<RuntimeStatusProto>,
- IObserver<ResourceStatusProto>,
- IObserver<ResourceAllocationProto>,
- IObserver<NodeDescriptorProto>,
- IObserver<RuntimeStart>,
- IObserver<RuntimeStop>,
- IObserver<IdleClock>
- {
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(DriverManager));
-
- private IInjector _injector;
-
- private IInjectionFuture<IClock> _clockFuture;
-
- private ResourceCatalogImpl _resourceCatalog;
-
- private IInjectionFuture<IResourceRequestHandler> _futureResourceRequestHandler;
-
- private Dictionary<string, EvaluatorManager> _evaluators = new Dictionary<string, EvaluatorManager>();
-
- private EvaluatorHeartBeatSanityChecker _sanityChecker = new EvaluatorHeartBeatSanityChecker();
-
- private ClientJobStatusHandler _clientJobStatusHandler;
-
- private IDisposable _heartbeatConnectionChannel;
-
- private IDisposable _errorChannel;
-
- private IObserver<RuntimeErrorProto> _runtimeErrorHandler;
-
- public DriverManager(
- IInjector injector,
- ResourceCatalogImpl resourceCatalog,
- IRemoteManager<REEFMessage> remoteManager,
- IInjectionFuture<IClock> clockFuture,
- IInjectionFuture<IResourceRequestHandler> futureResourceRequestHandler,
- ClientJobStatusHandler clientJobStatusHandler,
- string clientRId)
- {
- _injector = injector;
- _clockFuture = clockFuture;
- _resourceCatalog = resourceCatalog;
- _futureResourceRequestHandler = futureResourceRequestHandler;
- _clientJobStatusHandler = clientJobStatusHandler;
-
- _heartbeatConnectionChannel = null;
- _errorChannel = null;
- _runtimeErrorHandler = null;
- LOGGER.Log(Level.Info, "DriverManager instantiated");
- }
-
- public IResourceCatalog ResourceCatalog
- {
- get
- {
- return _resourceCatalog;
- }
-
- set
- {
- }
- }
-
- private RuntimeStatusProto _runtimeStatusProto
- {
- get
- {
- RuntimeStatusProto proto = new RuntimeStatusProto();
- proto.state = State.INIT;
- proto.name = "REEF";
- proto.outstanding_container_requests = 0;
- return proto;
- }
-
- set
- {
- _runtimeStatusProto = value;
- }
- }
-
- public void Submit(IEvaluatorRequest request)
- {
- LOGGER.Log(Level.Info, "Got an EvaluatorRequest");
- ResourceRequestProto proto = new ResourceRequestProto();
- //TODO: request.size deprecated should use megabytes instead
- //switch (request.Size)
- //{
- // case EvaluatorRequest.EvaluatorSize.SMALL:
- // proto.resource_size = SIZE.SMALL;
- // break;
- // case EvaluatorRequest.EvaluatorSize.MEDIUM:
- // proto.resource_size = SIZE.MEDIUM;
- // break;
- // case EvaluatorRequest.EvaluatorSize.LARGE:
- // proto.resource_size = SIZE.LARGE;
- // break;
- // case EvaluatorRequest.EvaluatorSize.XLARGE:
- // proto.resource_size = SIZE.XLARGE;
- // break;
- // default:
- // throw new InvalidOperationException("invalid request size" + request.Size);
- //}
- proto.resource_count = request.Number;
- if (request.MemoryMegaBytes > 0)
- {
- proto.memory_size = request.MemoryMegaBytes;
- }
-
- //final ResourceCatalog.Descriptor descriptor = req.getDescriptor();
- //if (descriptor != null) {
- // if (descriptor instanceof RackDescriptor) {
- // request.addRackName(descriptor.getName());
- // } else if (descriptor instanceof NodeDescriptor) {
- // request.addNodeName(descriptor.getName());
- // }
- //}
-
- //_futureResourceRequestHandler.Get().OnNext(proto);
- }
-
- public void Release(EvaluatorManager evaluatorManager)
- {
- lock (this)
- {
- string evaluatorManagerId = evaluatorManager.Id;
- if (_evaluators.ContainsKey(evaluatorManagerId))
- {
- _evaluators.Remove(evaluatorManagerId);
- }
- else
- {
- var e = new InvalidOperationException("Trying to remove an unknown evaluator manager with id " + evaluatorManagerId);
- Exceptions.Throw(e, LOGGER);
- }
- }
- }
-
- /// <summary>
- /// This handles runtime error occurs on the evaluator
- /// </summary>
- /// <param name="runtimeErrorProto"></param>
- public void Handle(RuntimeErrorProto runtimeErrorProto)
- {
- FailedRuntime error = new FailedRuntime(runtimeErrorProto);
- LOGGER.Log(Level.Warning, "Runtime error:" + error);
-
- EvaluatorException evaluatorException = error.Cause != null
- ? new EvaluatorException(error.Id, error.Cause.Value)
- : new EvaluatorException(error.Id, "Runtime error");
- EvaluatorManager evaluatorManager = null;
- lock (_evaluators)
- {
- if (_evaluators.ContainsKey(error.Id))
- {
- evaluatorManager = _evaluators[error.Id];
- }
- else
- {
- LOGGER.Log(Level.Warning, "Unknown evaluator runtime error: " + error.Cause);
- }
- }
- if (null != evaluatorManager)
- {
- evaluatorManager.Handle(evaluatorException);
- }
- }
-
- /// <summary>
- /// A RuntimeStatusProto comes from the ResourceManager layer indicating its current status
- /// </summary>
- /// <param name="runtimeStatusProto"></param>
- public void OnNext(RuntimeStatusProto runtimeStatusProto)
- {
- Handle(runtimeStatusProto);
- }
-
- /// <summary>
- /// A ResourceStatusProto message comes from the ResourceManager layer to indicate what it thinks
- /// about the current state of a given resource. Ideally, we should think the same thing.
- /// </summary>
- /// <param name="resourceStatusProto"></param>
- public void OnNext(ResourceStatusProto resourceStatusProto)
- {
- Handle(resourceStatusProto);
- }
-
- /// <summary>
- /// A ResourceAllocationProto indicates a resource allocation given by the ResourceManager layer.
- /// </summary>
- /// <param name="resourceAllocationProto"></param>
- public void OnNext(ResourceAllocationProto resourceAllocationProto)
- {
- Handle(resourceAllocationProto);
- }
-
- /// <summary>
- /// A NodeDescriptorProto defines a new node in the cluster. We should add this to the resource catalog
- /// so that clients can make resource requests against it.
- /// </summary>
- /// <param name="nodeDescriptorProto"></param>
- public void OnNext(NodeDescriptorProto nodeDescriptorProto)
- {
- _resourceCatalog.Handle(nodeDescriptorProto);
- }
-
- /// <summary>
- /// This EventHandler is subscribed to the StartTime event of the Clock statically. It therefore provides the entrance
- /// point to REEF.
- /// </summary>
- /// <param name="runtimeStart"></param>
- public void OnNext(RuntimeStart runtimeStart)
- {
- LOGGER.Log(Level.Info, "RuntimeStart: " + runtimeStart);
- _runtimeStatusProto = new RuntimeStatusProto();
- _runtimeStatusProto.state = State.RUNNING;
- _runtimeStatusProto.name = "REEF";
- _runtimeStatusProto.outstanding_container_requests = 0;
- }
-
- /// <summary>
- /// Handles RuntimeStop
- /// </summary>
- /// <param name="runtimeStop"></param>
- public void OnNext(RuntimeStop runtimeStop)
- {
- LOGGER.Log(Level.Info, "RuntimeStop: " + runtimeStop);
- if (runtimeStop.Exception != null)
- {
- string exceptionMessage = runtimeStop.Exception.Message;
- LOGGER.Log(Level.Warning, "Sending runtime error:" + exceptionMessage);
- RuntimeErrorProto runtimeErrorProto = new RuntimeErrorProto();
- runtimeErrorProto.message = exceptionMessage;
- runtimeErrorProto.exception = ByteUtilities.StringToByteArrays(exceptionMessage);
- runtimeErrorProto.name = "REEF";
- _runtimeErrorHandler.OnNext(runtimeErrorProto);
-
- LOGGER.Log(Level.Warning, "DONE Sending runtime error: " + exceptionMessage);
- }
-
- lock (_evaluators)
- {
- foreach (EvaluatorManager evaluatorManager in _evaluators.Values)
- {
- LOGGER.Log(Level.Warning, "Unclean shutdown of evaluator: " + evaluatorManager.Id);
- evaluatorManager.Dispose();
- }
- }
-
- try
- {
- _heartbeatConnectionChannel.Dispose();
- _errorChannel.Dispose();
- Optional<Exception> e = runtimeStop.Exception != null ?
- Optional<Exception>.Of(runtimeStop.Exception) : Optional<Exception>.Empty();
- _clientJobStatusHandler.Dispose(e);
-
- LOGGER.Log(Level.Info, "driver manager closed");
- }
- catch (Exception e)
- {
- Exceptions.Caught(e, Level.Error, "Error disposing Driver manager", LOGGER);
- Exceptions.Throw(new InvalidOperationException("Cannot dispose driver manager"), LOGGER);
- }
- }
-
- public void OnNext(IdleClock value)
- {
- string message = string.Format(
- CultureInfo.InvariantCulture,
- "IdleClock: [{0}], RuntimeState [{1}], Outstanding container requests [{2}], Container allocation count[{3}]",
- value + Environment.NewLine,
- _runtimeStatusProto.state + Environment.NewLine,
- _runtimeStatusProto.outstanding_container_requests + Environment.NewLine,
- _runtimeStatusProto.container_allocation.Count);
- LOGGER.Log(Level.Info, message);
-
- lock (_evaluators)
- {
- if (_runtimeStatusProto.state == State.RUNNING
- && _runtimeStatusProto.outstanding_container_requests == 0
- && _runtimeStatusProto.container_allocation.Count == 0)
- {
- LOGGER.Log(Level.Info, "Idle runtime shutdown");
- _clockFuture.Get().Dispose();
- }
- }
- }
-
- void IObserver<IdleClock>.OnError(Exception error)
- {
- throw new NotImplementedException();
- }
-
- void IObserver<IdleClock>.OnCompleted()
- {
- throw new NotImplementedException();
- }
-
- void IObserver<RuntimeStop>.OnError(Exception error)
- {
- throw new NotImplementedException();
- }
-
- void IObserver<RuntimeStop>.OnCompleted()
- {
- throw new NotImplementedException();
- }
-
- void IObserver<RuntimeStart>.OnError(Exception error)
- {
- throw new NotImplementedException();
- }
-
- void IObserver<RuntimeStart>.OnCompleted()
- {
- throw new NotImplementedException();
- }
-
- void IObserver<NodeDescriptorProto>.OnError(Exception error)
- {
- throw new NotImplementedException();
- }
-
- void IObserver<NodeDescriptorProto>.OnCompleted()
- {
- throw new NotImplementedException();
- }
-
- void IObserver<ResourceAllocationProto>.OnError(Exception error)
- {
- throw new NotImplementedException();
- }
-
- void IObserver<ResourceAllocationProto>.OnCompleted()
- {
- throw new NotImplementedException();
- }
-
- void IObserver<ResourceStatusProto>.OnError(Exception error)
- {
- throw new NotImplementedException();
- }
-
- void IObserver<ResourceStatusProto>.OnCompleted()
- {
- throw new NotImplementedException();
- }
-
- void IObserver<RuntimeStatusProto>.OnError(Exception error)
- {
- throw new NotImplementedException();
- }
-
- void IObserver<RuntimeStatusProto>.OnCompleted()
- {
- throw new NotImplementedException();
- }
-
- /// <summary>
- /// Something went wrong at the runtime layer (either driver or evaluator). This
- /// method simply forwards the RuntimeErrorProto to the client via the RuntimeErrorHandler.
- /// </summary>
- /// <param name="runtimeErrorProto"></param>
- private void Fail(RuntimeErrorProto runtimeErrorProto)
- {
- _runtimeErrorHandler.OnNext(runtimeErrorProto);
- _clockFuture.Get().Dispose();
- }
-
- /// <summary>
- /// Helper method to create a new EvaluatorManager instance
- /// </summary>
- /// <param name="id">identifier of the Evaluator</param>
- /// <param name="descriptor"> NodeDescriptor on which the Evaluator executes.</param>
- /// <returns>new EvaluatorManager instance.</returns>
- private EvaluatorManager GetNewEvaluatorManagerInstance(string id, EvaluatorDescriptorImpl descriptor)
- {
- LOGGER.Log(Level.Info, "Creating Evaluator Manager: " + id);
- //TODO bindVolatieParameter
- return (EvaluatorManager)_injector.GetInstance(typeof(EvaluatorManager));
- }
-
- /// <summary>
- /// Receives and routes heartbeats from Evaluators.
- /// </summary>
- /// <param name="evaluatorHearBeatProto"></param>
- private void Handle(IRemoteMessage<EvaluatorHeartbeatProto> evaluatorHearBeatProto)
- {
- EvaluatorHeartbeatProto heartbeat = evaluatorHearBeatProto.Message;
- EvaluatorStatusProto status = heartbeat.evaluator_status;
- string evaluatorId = status.evaluator_id;
- LOGGER.Log(Level.Info, string.Format(CultureInfo.InvariantCulture, "Heartbeat from Evaluator {0} with state {1} timestamp {2}", evaluatorId, status.state, heartbeat.timestamp));
- _sanityChecker.check(evaluatorId, heartbeat.timestamp);
-
- lock (_evaluators)
- {
- if (_evaluators.ContainsKey(evaluatorId))
- {
- EvaluatorManager evaluatorManager = _evaluators[evaluatorId];
- evaluatorManager.Handle(evaluatorHearBeatProto);
- }
- else
- {
- string msg = "Contact from unkonwn evaluator with id: " + evaluatorId;
- if (heartbeat.evaluator_status != null)
- {
- msg += " with state" + status.state;
- }
- LOGGER.Log(Level.Error, msg);
- Exceptions.Throw(new InvalidOperationException(msg), LOGGER);
- }
- }
- }
-
- /// <summary>
- /// This resource status message comes from the ResourceManager layer; telling me what it thinks
- /// about the state of the resource executing an Evaluator; This method simply passes the message
- /// off to the referenced EvaluatorManager
- /// </summary>
- /// <param name="resourceStatusProto"></param>
- private void Handle(ResourceStatusProto resourceStatusProto)
- {
- lock (_evaluators)
- {
- if (_evaluators.ContainsKey(resourceStatusProto.identifier))
- {
- EvaluatorManager evaluatorManager = _evaluators[resourceStatusProto.identifier];
- evaluatorManager.Handle(resourceStatusProto);
- }
- else
- {
- var e = new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, "Unknown resource status from evaluator {0} with state {1}", resourceStatusProto.identifier, resourceStatusProto.state));
- Exceptions.Throw(e, LOGGER);
- }
- }
- }
-
- /// <summary>
- /// This method handles resource allocations by creating a new EvaluatorManager instance.
- /// </summary>
- /// <param name="resourceAllocationProto"></param>
- private void Handle(ResourceAllocationProto resourceAllocationProto)
- {
- lock (_evaluators)
- {
- try
- {
- INodeDescriptor nodeDescriptor = _resourceCatalog.GetNode(resourceAllocationProto.node_id);
- if (nodeDescriptor == null)
- {
- Exceptions.Throw(new InvalidOperationException("Unknown resurce: " + resourceAllocationProto.node_id), LOGGER);
- }
- EvaluatorDescriptorImpl evaluatorDescriptor = new EvaluatorDescriptorImpl(nodeDescriptor, EvaluatorType.UNDECIDED, resourceAllocationProto.resource_memory, resourceAllocationProto.virtual_cores);
- LOGGER.Log(Level.Info, "Resource allocation: new evaluator id: " + resourceAllocationProto.identifier);
- EvaluatorManager evaluatorManager = GetNewEvaluatorManagerInstance(resourceAllocationProto.identifier, evaluatorDescriptor);
- _evaluators.Add(resourceAllocationProto.identifier, evaluatorManager);
- }
- catch (Exception e)
- {
- Exceptions.Caught(e, Level.Error, LOGGER);
- Exceptions.Throw(new InvalidOperationException("Error handling resourceAllocationProto."), LOGGER);
- }
- }
- }
-
- private void Handle(RuntimeStatusProto runtimeStatusProto)
- {
- State runtimeState = runtimeStatusProto.state;
- LOGGER.Log(Level.Info, "Runtime status: " + runtimeStatusProto.state);
-
- switch (runtimeState)
- {
- case State.FAILED:
- Fail(runtimeStatusProto.error);
- break;
- case State.DONE:
- _clockFuture.Get().Dispose();
- break;
- case State.RUNNING:
- lock (_evaluators)
- {
- _runtimeStatusProto = runtimeStatusProto;
- if (_clockFuture.Get().IsIdle()
- && runtimeStatusProto.outstanding_container_requests == 0
- && runtimeStatusProto.container_allocation.Count == 0)
- {
- _clockFuture.Get().Dispose();
- }
- }
- break;
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefDriver/DriverRuntimeConfiguration.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefDriver/DriverRuntimeConfiguration.cs b/lang/cs/Source/REEF/reef-common/ReefDriver/DriverRuntimeConfiguration.cs
deleted file mode 100644
index a3dff0e..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefDriver/DriverRuntimeConfiguration.cs
+++ /dev/null
@@ -1,64 +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 Org.Apache.Reef.Common;
-using Org.Apache.Reef.Common.Api;
-using Org.Apache.Reef.Common.Catalog;
-using Org.Apache.Reef.Common.Client;
-using Org.Apache.Reef.Common.Evaluator;
-using Org.Apache.Reef.Driver.Evaluator;
-using Org.Apache.Reef.Tang.Formats;
-using Org.Apache.Reef.Tang.Util;
-
-namespace Org.Apache.Reef.Driver
-{
- public class DriverRuntimeConfiguration : ConfigurationModuleBuilder
- {
- public static ConfigurationModule ConfigurationModule
- {
- get
- {
- return new DriverRuntimeConfiguration()
- // Resource Catalog
- .BindImplementation(GenericType<IResourceCatalog>.Class, GenericType<ResourceCatalogImpl>.Class)
-
- // JobMessageObserver
- //.BindImplementation(GenericType<IEvaluatorRequestor>.Class, GenericType<DriverManager>.Class)
- .BindImplementation(GenericType<IJobMessageObserver>.Class, GenericType<ClientJobStatusHandler>.Class)
-
- // JobMessageObserver Wake event handler bindings
- .BindNamedParameter(GenericType<DriverRuntimeConfigurationOptions.JobMessageHandler>.Class, GenericType<ClientJobStatusHandler>.Class)
- .BindNamedParameter(GenericType<DriverRuntimeConfigurationOptions.JobExceptionHandler>.Class, GenericType<ClientJobStatusHandler>.Class)
-
- // Client manager
- .BindNamedParameter(GenericType<DriverRuntimeConfigurationOptions.JobControlHandler>.Class, GenericType<ClientManager>.Class)
-
- // Bind the runtime parameters
- //.BindNamedParameter(GenericType<RuntimeParameters.NodeDescriptorHandler>.Class, GenericType<DriverManager>.Class)
- //.BindNamedParameter(GenericType<RuntimeParameters.ResourceAllocationHandler>.Class, GenericType<DriverManager>.Class)
- //.BindNamedParameter(GenericType<RuntimeParameters.ResourceStatusHandler>.Class, GenericType<DriverManager>.Class)
- //.BindNamedParameter(GenericType<RuntimeParameters.RuntimeStatusHandler>.Class, GenericType<DriverManager>.Class)
-
- // Bind to the Clock
- //.BindSetEntry(GenericType<IClock.RuntimeStopHandler>.Class, GenericType<DriverManager>.Class)
- .Build();
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefDriver/DriverRuntimeConfigurationOptions.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefDriver/DriverRuntimeConfigurationOptions.cs b/lang/cs/Source/REEF/reef-common/ReefDriver/DriverRuntimeConfigurationOptions.cs
deleted file mode 100644
index 5de7856..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefDriver/DriverRuntimeConfigurationOptions.cs
+++ /dev/null
@@ -1,42 +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 Org.Apache.Reef.Common;
-using Org.Apache.Reef.Tang.Annotations;
-
-namespace Org.Apache.Reef.Driver
-{
- public class DriverRuntimeConfigurationOptions
- {
- [NamedParameter(documentation: "Job message handler (see ClientJobStatusHandler)")]
- public class JobMessageHandler : Name<ClientJobStatusHandler>
- {
- }
-
- [NamedParameter(documentation: "Job exception handler (see ClientJobStatusHandler)")]
- public class JobExceptionHandler : Name<ClientJobStatusHandler>
- {
- }
-
- [NamedParameter(documentation: "Called when a job control message is received by the client.")]
- public class JobControlHandler : Name<ClientManager>
- {
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefDriver/DriverSubmissionSettings.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefDriver/DriverSubmissionSettings.cs b/lang/cs/Source/REEF/reef-common/ReefDriver/DriverSubmissionSettings.cs
deleted file mode 100644
index 3bdaf6b..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefDriver/DriverSubmissionSettings.cs
+++ /dev/null
@@ -1,185 +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 Org.Apache.Reef.Utilities.Logging;
-
-namespace Org.Apache.Reef.Driver
-{
- // TODO: merge with EvaluatorConfigurations class
- public class DriverSubmissionSettings
- {
- // default to "ReefDevClrBridge"
- private string _driverIdentifier;
-
- // default to _defaultSubmissionDirectory is not provided
- private string _submissionDirectory;
-
- // deault to 512MB if no value is provided
- private int _driverMemory = 0;
-
- // default value, client wait till driver exit
- private int _clientWaitTime = -1;
-
- // default to submit to driver with driver config
- private bool _submit = true;
-
- // default to always update jar before submission
- private bool _updateJar = true;
-
- // default to run on local
- private bool _runOnYarn;
-
- // default to set to info logging
- private JavaLoggingSetting _javaLogLevel = JavaLoggingSetting.INFO;
-
- /// <summary>
- /// Whether to update jar file with needed dlls before submission
- /// User can choose to reduce startup time by skipping the update, if jar file already contains all necessary dll
- /// Note this settig is .NET only, it does not propagate to java side.
- /// </summary>
- public bool UpdateJarBeforeSubmission
- {
- get { return _updateJar; }
- set { _updateJar = value; }
- }
-
- /// <summary>
- /// Determine the vebosity of Java driver's log.
- /// Note this parameter is used when launching java process only, it does not propagate to java side.
- /// </summary>
- public JavaLoggingSetting JavaLogLevel
- {
- get { return _javaLogLevel; }
- set { _javaLogLevel = value; }
- }
-
- /// <summary>
- /// Memory allocated for driver, default to 512 MB
- /// </summary>
- public int DriverMemory
- {
- get
- {
- return _driverMemory;
- }
-
- set
- {
- if (value < 0)
- {
- throw new ArgumentException("driver memory cannot be negatvie value.");
- }
- _driverMemory = value;
- }
- }
-
- /// <summary>
- /// Driver Identifier, default to "ReefDevClrBridge"
- /// </summary>
- public string DriverIdentifier
- {
- get
- {
- return _driverIdentifier;
- }
-
- set
- {
- _driverIdentifier = value;
- }
- }
-
- /// <summary>
- /// Whether to submit driver with config after driver configuration is construted, default to True
- /// </summary>
- public bool Submit
- {
- get
- {
- return _submit;
- }
-
- set
- {
- _submit = value;
- }
- }
-
- /// <summary>
- /// How long client would wait for Driver, default to wait till driver is done
- /// </summary>
- public int ClientWaitTime
- {
- get
- {
- return _clientWaitTime;
- }
-
- set
- {
- _clientWaitTime = value;
- }
- }
-
- /// <summary>
- /// Driver job submission directory in (H)DFS where jar file shall be uploaded, default to a tmp directory with GUID name
- /// If set by CLR user, the user must guarantee the uniquness of the directory across multiple jobs
- /// </summary>
- public string SubmissionDirectory
- {
- get
- {
- return _submissionDirectory;
- }
-
- set
- {
- _submissionDirectory = value;
- }
- }
-
- /// <summary>
- /// Whether to Run on YARN runtime, default to false
- /// </summary>
- public bool RunOnYarn
- {
- get
- {
- return _runOnYarn;
- }
-
- set
- {
- _runOnYarn = value;
- }
- }
-
- public string ToComamndLineArguments()
- {
- return
- (RunOnYarn ? " -local false" : string.Empty) +
- (!Submit ? " -submit false" : string.Empty) +
- (DriverMemory > 0 ? " -driver_memory " + DriverMemory : string.Empty) +
- (!string.IsNullOrWhiteSpace(DriverIdentifier) ? " -drive_id " + DriverIdentifier : string.Empty) +
- (ClientWaitTime > 0 ? " -wait_time " + ClientWaitTime : string.Empty) +
- (!string.IsNullOrWhiteSpace(SubmissionDirectory) ? " -submission_directory " + SubmissionDirectory : string.Empty);
- }
- }
-}