You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by se...@apache.org on 2015/01/31 00:51:34 UTC
[2/8] incubator-reef git commit: [REEF-116] Moving bridge code to
proper folder structure
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java
deleted file mode 100644
index a0dedf5..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java
+++ /dev/null
@@ -1,80 +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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.context.ActiveContext;
-import org.apache.reef.io.naming.Identifiable;
-import org.apache.reef.tang.ClassHierarchy;
-import org.apache.reef.tang.Configuration;
-import org.apache.reef.tang.formats.AvroConfigurationSerializer;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public class ActiveContextBridge extends NativeBridge implements Identifiable {
- private static final Logger LOG = Logger.getLogger(ActiveContextBridge.class.getName());
-
- private ActiveContext jactiveContext;
-
- private AvroConfigurationSerializer serializer;
-
- private String contextId;
-
- private String evaluatorId;
-
- public ActiveContextBridge(ActiveContext activeContext) {
- jactiveContext = activeContext;
- serializer = new AvroConfigurationSerializer();
- contextId = activeContext.getId();
- evaluatorId = activeContext.getEvaluatorId();
- }
-
- public void submitTaskString(final String taskConfigurationString) {
-
- if (taskConfigurationString.isEmpty()) {
- throw new RuntimeException("empty taskConfigurationString provided.");
- }
- ClassHierarchy clrClassHierarchy = Utilities.loadClassHierarchy(NativeInterop.CLASS_HIERARCHY_FILENAME);
- Configuration taskConfiguration;
- try {
- taskConfiguration = serializer.fromString(taskConfigurationString, clrClassHierarchy);
- } catch (final Exception e) {
- final String message = "Unable to de-serialize CLR task configurations using class hierarchy.";
- LOG.log(Level.SEVERE, message, e);
- throw new RuntimeException(message, e);
- }
- jactiveContext.submitTask(taskConfiguration);
- }
-
- public String getEvaluatorDescriptorSring() {
- final String descriptorString = Utilities.getEvaluatorDescriptorString(jactiveContext.getEvaluatorDescriptor());
- LOG.log(Level.FINE, "active context - serialized evaluator descriptor: " + descriptorString);
- return descriptorString;
- }
-
- @Override
- public void close() {
- jactiveContext.close();
- }
-
- @Override
- public String getId() {
- return contextId;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/AllocatedEvaluatorBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/AllocatedEvaluatorBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/AllocatedEvaluatorBridge.java
deleted file mode 100644
index 5d88355..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/AllocatedEvaluatorBridge.java
+++ /dev/null
@@ -1,141 +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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.evaluator.AllocatedEvaluator;
-import org.apache.reef.tang.ClassHierarchy;
-import org.apache.reef.tang.Configuration;
-import org.apache.reef.tang.formats.AvroConfigurationSerializer;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public class AllocatedEvaluatorBridge extends NativeBridge {
-
- private static final Logger LOG = Logger.getLogger(AllocatedEvaluatorBridge.class.getName());
-
- private final AllocatedEvaluator jallocatedEvaluator;
- private final AvroConfigurationSerializer serializer;
- private final ClassHierarchy clrClassHierarchy;
- private final String evaluatorId;
- private final String nameServerInfo;
-
- public AllocatedEvaluatorBridge(final AllocatedEvaluator allocatedEvaluator, final String serverInfo) {
- jallocatedEvaluator = allocatedEvaluator;
- serializer = new AvroConfigurationSerializer();
- clrClassHierarchy = Utilities.loadClassHierarchy(NativeInterop.CLASS_HIERARCHY_FILENAME);
- evaluatorId = allocatedEvaluator.getId();
- nameServerInfo = serverInfo;
- }
-
- public void submitContextAndTaskString(final String contextConfigurationString, final String taskConfigurationString) {
- if (contextConfigurationString.isEmpty()) {
- throw new RuntimeException("empty contextConfigurationString provided.");
- }
- if (taskConfigurationString.isEmpty()) {
- throw new RuntimeException("empty taskConfigurationString provided.");
- }
- Configuration contextConfiguration;
- Configuration taskConfiguration;
- try {
- contextConfiguration = serializer.fromString(contextConfigurationString, clrClassHierarchy);
- taskConfiguration = serializer.fromString(taskConfigurationString, clrClassHierarchy);
- } catch (final Exception e) {
- final String message = "Unable to de-serialize CLR context or task configurations using class hierarchy.";
- LOG.log(Level.SEVERE, message, e);
- throw new RuntimeException(message, e);
- }
- jallocatedEvaluator.submitContextAndTask(contextConfiguration, taskConfiguration);
- }
-
- public void submitContextString(final String contextConfigurationString) {
- if (contextConfigurationString.isEmpty()) {
- throw new RuntimeException("empty contextConfigurationString provided.");
- }
- Configuration contextConfiguration;
- try {
- contextConfiguration = serializer.fromString(contextConfigurationString, clrClassHierarchy);
- } catch (final Exception e) {
- final String message = "Unable to de-serialize CLR context configurations using class hierarchy.";
- LOG.log(Level.SEVERE, message, e);
- throw new RuntimeException(message, e);
- }
- jallocatedEvaluator.submitContext(contextConfiguration);
- }
-
- public void submitContextAndServiceString(final String contextConfigurationString, final String serviceConfigurationString) {
- if (contextConfigurationString.isEmpty()) {
- throw new RuntimeException("empty contextConfigurationString provided.");
- }
- if (serviceConfigurationString.isEmpty()) {
- throw new RuntimeException("empty serviceConfigurationString provided.");
- }
-
- Configuration contextConfiguration;
- Configuration servicetConfiguration;
- try {
- contextConfiguration = serializer.fromString(contextConfigurationString, clrClassHierarchy);
- servicetConfiguration = serializer.fromString(serviceConfigurationString, clrClassHierarchy);
- } catch (final Exception e) {
- final String message = "Unable to de-serialize CLR context or service configurations using class hierarchy.";
- LOG.log(Level.SEVERE, message, e);
- throw new RuntimeException(message, e);
- }
- jallocatedEvaluator.submitContextAndService(contextConfiguration, servicetConfiguration);
- }
-
- public void submitContextAndServiceAndTaskString(
- final String contextConfigurationString,
- final String serviceConfigurationString,
- final String taskConfigurationString) {
- if (contextConfigurationString.isEmpty()) {
- throw new RuntimeException("empty contextConfigurationString provided.");
- }
- if (serviceConfigurationString.isEmpty()) {
- throw new RuntimeException("empty serviceConfigurationString provided.");
- }
- if (taskConfigurationString.isEmpty()) {
- throw new RuntimeException("empty taskConfigurationString provided.");
- }
- Configuration contextConfiguration;
- Configuration servicetConfiguration;
- Configuration taskConfiguration;
- try {
- contextConfiguration = serializer.fromString(contextConfigurationString, clrClassHierarchy);
- servicetConfiguration = serializer.fromString(serviceConfigurationString, clrClassHierarchy);
- taskConfiguration = serializer.fromString(taskConfigurationString, clrClassHierarchy);
- } catch (final Exception e) {
- final String message = "Unable to de-serialize CLR context or service or task configurations using class hierarchy.";
- LOG.log(Level.SEVERE, message, e);
- throw new RuntimeException(message, e);
- }
- jallocatedEvaluator.submitContextAndServiceAndTask(contextConfiguration, servicetConfiguration, taskConfiguration);
- }
-
- public String getEvaluatorDescriptorSring() {
- String descriptorString = Utilities.getEvaluatorDescriptorString(jallocatedEvaluator.getEvaluatorDescriptor());
- LOG.log(Level.INFO, "allocated evaluator - serialized evaluator descriptor: " + descriptorString);
- return descriptorString;
- }
-
- @Override
- public void close() {
- jallocatedEvaluator.close();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ClosedContextBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ClosedContextBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ClosedContextBridge.java
deleted file mode 100644
index 62f9ce7..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ClosedContextBridge.java
+++ /dev/null
@@ -1,81 +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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.context.ActiveContext;
-import org.apache.reef.driver.context.ClosedContext;
-import org.apache.reef.driver.evaluator.EvaluatorDescriptor;
-import org.apache.reef.util.Optional;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public class ClosedContextBridge extends NativeBridge implements ClosedContext {
-
- private static final Logger LOG = Logger.getLogger(ClosedContextBridge.class.getName());
-
- private final ClosedContext jcloseContext;
- private final ActiveContextBridge parentContext;
- private final String contextId;
- private final String evaluatorId;
- private final EvaluatorDescriptor evaluatorDescriptor;
-
- public ClosedContextBridge(final ClosedContext closedContext) {
- jcloseContext = closedContext;
- parentContext = new ActiveContextBridge(closedContext.getParentContext());
- contextId = closedContext.getId();
- evaluatorId = closedContext.getEvaluatorId();
- evaluatorDescriptor = closedContext.getEvaluatorDescriptor();
- }
-
- @Override
- public String getId() {
- return contextId;
- }
-
- @Override
- public String getEvaluatorId() {
- return evaluatorId;
- }
-
- @Override
- public Optional<String> getParentId() {
- return Optional.of(parentContext.getId());
- }
-
- @Override
- public EvaluatorDescriptor getEvaluatorDescriptor() {
- return evaluatorDescriptor;
- }
-
- @Override
- public void close() throws Exception {
- }
-
- public String getEvaluatorDescriptorSring() {
- String descriptorString = Utilities.getEvaluatorDescriptorString(evaluatorDescriptor);
- LOG.log(Level.INFO, "Closed Context - serialized evaluator descriptor: " + descriptorString);
- return descriptorString;
- }
-
- @Override
- public ActiveContext getParentContext() {
- return jcloseContext.getParentContext();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedEvaluatorBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedEvaluatorBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedEvaluatorBridge.java
deleted file mode 100644
index 0e300fd..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedEvaluatorBridge.java
+++ /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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.evaluator.CompletedEvaluator;
-import org.apache.reef.io.naming.Identifiable;
-
-public class CompletedEvaluatorBridge extends NativeBridge implements Identifiable {
-
- private final CompletedEvaluator jcompletedEvaluator;
-
- private final String evaluatorId;
-
- public CompletedEvaluatorBridge(CompletedEvaluator completedEvaluator) {
- jcompletedEvaluator = completedEvaluator;
- evaluatorId = completedEvaluator.getId();
- }
-
- @Override
- public String getId() {
- return evaluatorId;
- }
-
- @Override
- public void close() {
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedTaskBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedTaskBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedTaskBridge.java
deleted file mode 100644
index c95ca14..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedTaskBridge.java
+++ /dev/null
@@ -1,40 +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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.task.CompletedTask;
-
-public class CompletedTaskBridge extends NativeBridge {
-
- private CompletedTask jcompletedTask;
-
- private String taskId;
-
- private ActiveContextBridge jactiveContext;
-
- public CompletedTaskBridge(CompletedTask completedTask) {
- jcompletedTask = completedTask;
- taskId = completedTask.getId();
- jactiveContext = new ActiveContextBridge(completedTask.getActiveContext());
- }
-
- @Override
- public void close() {
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ContextMessageBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ContextMessageBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ContextMessageBridge.java
deleted file mode 100644
index eca4ba8..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ContextMessageBridge.java
+++ /dev/null
@@ -1,56 +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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.context.ContextMessage;
-
-public class ContextMessageBridge extends NativeBridge implements ContextMessage {
-
- private ContextMessage jcontextMessage;
- private String contextMessageId;
- private String messageSourceId;
- private byte[] message;
-
- public ContextMessageBridge(ContextMessage contextMessage) {
- jcontextMessage = contextMessage;
- contextMessageId = contextMessage.getId();
- messageSourceId = contextMessage.getMessageSourceID();
- message = contextMessage.get();
- }
-
- @Override
- public void close() throws Exception {
-
- }
-
- @Override
- public byte[] get() {
- return message;
- }
-
- @Override
- public String getId() {
- return contextMessageId;
- }
-
- @Override
- public String getMessageSourceID() {
- return messageSourceId;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/EvaluatorRequestorBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/EvaluatorRequestorBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/EvaluatorRequestorBridge.java
deleted file mode 100644
index a712fc4..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/EvaluatorRequestorBridge.java
+++ /dev/null
@@ -1,76 +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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.evaluator.EvaluatorRequest;
-import org.apache.reef.driver.evaluator.EvaluatorRequestor;
-import org.apache.reef.util.logging.LoggingScope;
-import org.apache.reef.util.logging.LoggingScopeFactory;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public final class EvaluatorRequestorBridge extends NativeBridge {
- private static final Logger LOG = Logger.getLogger(EvaluatorRequestorBridge.class.getName());
- private final boolean isBlocked;
- private final EvaluatorRequestor jevaluatorRequestor;
- private final LoggingScopeFactory loggingScopeFactory;
-
- // accumulate how many evaluators have been submitted through this instance
- // of EvaluatorRequestorBridge
- private int clrEvaluatorsNumber;
-
- public EvaluatorRequestorBridge(final EvaluatorRequestor evaluatorRequestor, final boolean isBlocked, final LoggingScopeFactory loggingScopeFactory) {
- this.jevaluatorRequestor = evaluatorRequestor;
- this.clrEvaluatorsNumber = 0;
- this.isBlocked = isBlocked;
- this.loggingScopeFactory = loggingScopeFactory;
- }
-
- public void submit(final int evaluatorsNumber, final int memory, final int virtualCore, final String rack) {
- if (this.isBlocked) {
- throw new RuntimeException("Cannot request additional Evaluator, this is probably because the Driver has crashed and restarted, and cannot ask for new container due to YARN-2433.");
- }
-
- if (rack != null && !rack.isEmpty()) {
- LOG.log(Level.WARNING, "Ignoring rack preference.");
- }
-
- try (final LoggingScope ls = loggingScopeFactory.evaluatorRequestSubmitToJavaDriver(evaluatorsNumber)) {
- clrEvaluatorsNumber += evaluatorsNumber;
-
- final EvaluatorRequest request = EvaluatorRequest.newBuilder()
- .setNumber(evaluatorsNumber)
- .setMemory(memory)
- .setNumberOfCores(virtualCore)
- .build();
-
- LOG.log(Level.FINE, "submitting evaluator request {0}", request);
- jevaluatorRequestor.submit(request);
- }
- }
-
- public int getEvaluatorNumber() {
- return clrEvaluatorsNumber;
- }
-
- @Override
- public void close() {
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedContextBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedContextBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedContextBridge.java
deleted file mode 100644
index dfed7f7..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedContextBridge.java
+++ /dev/null
@@ -1,83 +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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.context.ContextBase;
-import org.apache.reef.driver.context.FailedContext;
-import org.apache.reef.driver.evaluator.EvaluatorDescriptor;
-import org.apache.reef.util.Optional;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public class FailedContextBridge extends NativeBridge implements ContextBase {
-
- private static final Logger LOG = Logger.getLogger(FailedContextBridge.class.getName());
-
- private final ActiveContextBridge parentContext;
- private final EvaluatorDescriptor evaluatorDescriptor;
- private final String evaluatorId;
- private final String contextId;
- private final String parentContextId;
- private final FailedContext jfailedContext;
-
- public FailedContextBridge(final FailedContext failedContext) {
- jfailedContext = failedContext;
- evaluatorDescriptor = failedContext.getEvaluatorDescriptor();
- evaluatorId = failedContext.getEvaluatorId();
- contextId = failedContext.getId();
- parentContext = failedContext.getParentContext().isPresent() ?
- new ActiveContextBridge(failedContext.getParentContext().get()) : null;
- parentContextId = parentContext != null ? parentContext.getId() : null;
- }
-
- @Override
- public void close() throws Exception {
- }
-
- @Override
- public String getId() {
- return contextId;
- }
-
- @Override
- public String getEvaluatorId() {
- return evaluatorId;
- }
-
- @Override
- public Optional<String> getParentId() {
- if (parentContextId != null) {
- return Optional.of(parentContextId);
- } else {
- return Optional.empty();
- }
- }
-
- @Override
- public EvaluatorDescriptor getEvaluatorDescriptor() {
- return evaluatorDescriptor;
- }
-
- public String getEvaluatorDescriptorSring() {
- String descriptorString = Utilities.getEvaluatorDescriptorString(evaluatorDescriptor);
- LOG.log(Level.INFO, "Failed Context - serialized evaluator descriptor: " + descriptorString);
- return descriptorString;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedEvaluatorBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedEvaluatorBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedEvaluatorBridge.java
deleted file mode 100644
index bae4946..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedEvaluatorBridge.java
+++ /dev/null
@@ -1,47 +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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.evaluator.EvaluatorRequestor;
-import org.apache.reef.driver.evaluator.FailedEvaluator;
-import org.apache.reef.util.logging.LoggingScopeFactory;
-
-import java.util.logging.Logger;
-
-public class FailedEvaluatorBridge extends NativeBridge {
- private static final Logger LOG = Logger.getLogger(FailedEvaluatorBridge.class.getName());
- private FailedEvaluator jfailedEvaluator;
- private EvaluatorRequestorBridge evaluatorRequestorBridge;
- private String evaluatorId;
-
- public FailedEvaluatorBridge(FailedEvaluator failedEvaluator, EvaluatorRequestor evaluatorRequestor, boolean blockedForAdditionalEvaluator, final LoggingScopeFactory loggingScopeFactory) {
- jfailedEvaluator = failedEvaluator;
- evaluatorId = failedEvaluator.getId();
- evaluatorRequestorBridge = new EvaluatorRequestorBridge(evaluatorRequestor, blockedForAdditionalEvaluator, loggingScopeFactory);
- }
-
- public int getNewlyRequestedEvaluatorNumber() {
- return evaluatorRequestorBridge.getEvaluatorNumber();
- }
-
- @Override
- public void close() {
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java
deleted file mode 100644
index 30383ca..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java
+++ /dev/null
@@ -1,60 +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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.context.ActiveContext;
-import org.apache.reef.driver.task.FailedTask;
-import org.apache.reef.util.Optional;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public class FailedTaskBridge extends NativeBridge {
- private static final Logger LOG = Logger.getLogger(FailedTaskBridge.class.getName());
-
- private FailedTask jfailedTask;
- private ActiveContextBridge jactiveContext;
-
- public FailedTaskBridge(FailedTask failedTask) {
- jfailedTask = failedTask;
- Optional<ActiveContext> activeContext = failedTask.getActiveContext();
- jactiveContext = activeContext.isPresent() ? new ActiveContextBridge(activeContext.get()) : null;
- }
-
- public String getFailedTaskString() {
- final String description = jfailedTask.getDescription().isPresent() ? jfailedTask.getDescription().get().replace("=", "").replace(",", "") : "";
- final String cause = jfailedTask.getReason().isPresent() ? jfailedTask.getReason().get().toString().replace("=", "").replace(",", "") : "";
- final String data = jfailedTask.getData().isPresent() ? new String(jfailedTask.getData().get()).replace("=", "").replace(",", "") : "";
-
- // TODO: deserialize/serialize with proper Avro schema
- final String poorSerializedString = "Identifier=" + jfailedTask.getId().replace("=", "").replace(",", "")
- + ", Message=" + jfailedTask.getMessage().replace("=", "").replace(",", "")
- + ", Description=" + description
- + ", Cause=" + cause
- + ", Data=" + data;
-
- LOG.log(Level.INFO, "serialized failed task " + poorSerializedString);
- return poorSerializedString;
- }
-
- @Override
- public void close() {
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/HttpServerEventBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/HttpServerEventBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/HttpServerEventBridge.java
deleted file mode 100644
index 3e8a4e5..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/HttpServerEventBridge.java
+++ /dev/null
@@ -1,79 +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.
- */
-package org.apache.reef.javabridge;
-
-public final class HttpServerEventBridge extends NativeBridge {
- private String queryString;
- private byte[] queryRequestData;
- private byte[] queryResponseData;
- private String queryResult;
- private String uriSpecification;
-
- public HttpServerEventBridge(final String queryStr) {
- this.queryString = queryStr;
- }
-
- public HttpServerEventBridge(final byte[] queryRequestData) {
- this.queryRequestData = queryRequestData;
- }
-
- public final String getQueryString() {
- return queryString;
- }
-
- public final void setQueryString(final String queryStr) {
- this.queryString = queryStr;
- }
-
- public final String getQueryResult() {
- return queryResult;
- }
-
- public final void setQueryResult(final String queryResult) {
- this.queryResult = queryResult;
- }
-
- public final String getUriSpecification() {
- return uriSpecification;
- }
-
- public final void setUriSpecification(final String uriSpecification) {
- this.uriSpecification = uriSpecification;
- }
-
- public final byte[] getQueryRequestData() {
- return queryRequestData;
- }
-
- public final void setQueryRequestData(final byte[] queryRequestData) {
- this.queryRequestData = queryRequestData;
- }
-
- public final byte[] getQueryResponseData() {
- return queryResponseData;
- }
-
- public final void setQueryResponseData(final byte[] responseData) {
- queryResponseData = responseData;
- }
-
- @Override
- public void close() {
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropLogger.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropLogger.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropLogger.java
deleted file mode 100644
index 8bfbdfa..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropLogger.java
+++ /dev/null
@@ -1,55 +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.
- */
-package org.apache.reef.javabridge;
-
-import java.util.HashMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public class InteropLogger {
- private static final Logger LOG = Logger.getLogger("InteropLogger");
- HashMap<Integer, Level> levelHashMap;
-
- {
- levelHashMap = new HashMap<Integer, Level>();
- levelHashMap.put(Level.OFF.intValue(), Level.OFF);
- levelHashMap.put(Level.SEVERE.intValue(), Level.SEVERE);
- levelHashMap.put(Level.WARNING.intValue(), Level.WARNING);
- levelHashMap.put(Level.INFO.intValue(), Level.INFO);
-
- levelHashMap.put(Level.CONFIG.intValue(), Level.CONFIG);
- levelHashMap.put(Level.FINE.intValue(), Level.FINE);
- levelHashMap.put(Level.FINER.intValue(), Level.FINER);
-
- levelHashMap.put(Level.FINEST.intValue(), Level.FINEST);
- levelHashMap.put(Level.ALL.intValue(), Level.ALL);
- }
-
- public void Log(int intLevel, String message) {
- if (levelHashMap.containsKey(intLevel)) {
- Level level = levelHashMap.get(intLevel);
- LOG.log(level, message);
- } else {
-
- LOG.log(Level.WARNING, "Level " + intLevel + " is not a valid Log level");
- LOG.log(Level.WARNING, message);
- }
-
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropReturnInfo.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropReturnInfo.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropReturnInfo.java
deleted file mode 100644
index 8ef59d6..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropReturnInfo.java
+++ /dev/null
@@ -1,52 +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.
- */
-package org.apache.reef.javabridge;
-
-import java.util.ArrayList;
-
-public class InteropReturnInfo {
-
- int returnCode;
- ArrayList<String> exceptionList = new ArrayList<String>();
-
- public void addExceptionString(String exceptionString) {
- exceptionList.add(exceptionString);
- }
-
- public boolean hasExceptions() {
- return !exceptionList.isEmpty();
- }
-
- public ArrayList<String> getExceptionList() {
- return exceptionList;
- }
-
- public int getReturnCode() {
- return returnCode;
- }
-
- public void setReturnCode(int rc) {
- returnCode = rc;
- }
-
- public void reset() {
- exceptionList = new ArrayList<String>();
- returnCode = 0;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java
deleted file mode 100644
index ba438d8..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java
+++ /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.
- */
-package org.apache.reef.javabridge;
-
-public class JavaBridge {
- private final static String CPP_BRIDGE = "JavaClrBridge";
-
- static {
- try {
- System.loadLibrary(CPP_BRIDGE);
- } catch (UnsatisfiedLinkError e) {
- }
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/LibLoader.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/LibLoader.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/LibLoader.java
deleted file mode 100644
index fa8b459..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/LibLoader.java
+++ /dev/null
@@ -1,154 +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.
- */
-
-package org.apache.reef.javabridge;
-
-import org.apache.commons.compress.utils.IOUtils;
-import org.apache.reef.runtime.common.files.REEFFileNames;
-import org.apache.reef.util.logging.LoggingScope;
-import org.apache.reef.util.logging.LoggingScopeFactory;
-
-import javax.inject.Inject;
-import java.io.*;
-import java.util.Date;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * Loading CLR libraries
- */
-public class LibLoader {
-
- private static final Logger LOG = Logger.getLogger(LibLoader.class.getName());
-
- private static final String LIB_BIN = "/";
- private static final String DLL_EXTENSION = ".dll";
- private static final String USER_DIR = "user.dir";
- private static final String[] MANAGED_DLLS = {
- "ClrHandler",
- "msvcr110",
- };
-
- private final LoggingScopeFactory loggingScopeFactory;
-
- private final REEFFileNames reefFileNames;
-
- @Inject
- private LibLoader(final LoggingScopeFactory loggingScopeFactory, final REEFFileNames reefFileNames) {
- this.loggingScopeFactory = loggingScopeFactory;
- this.reefFileNames = reefFileNames;
- }
-
- /**
- * Load CLR libraries
- */
- public void loadLib() throws IOException {
- LOG.log(Level.INFO, "Loading DLLs for driver at time {0}." + new Date().toString());
- try (final LoggingScope lb = loggingScopeFactory.loadLib()) {
- final String tempLoadDir = System.getProperty(USER_DIR) + this.reefFileNames.getLoadDir();
- LOG.log(Level.INFO, "load Folder: " + tempLoadDir);
- new File(tempLoadDir).mkdir();
-
- loadFromReefJar(this.reefFileNames.getCppBridge(), false);
-
- loadLibFromGlobal();
-
- for (int i = 0; i < MANAGED_DLLS.length; i++) {
- loadFromReefJar(MANAGED_DLLS[i], true);
- }
- }
- LOG.log(Level.INFO, "Done loading DLLs for Driver at time {0}." + new Date().toString());
- }
-
- /**
- * Load assemblies at global folder
- */
- private void loadLibFromGlobal() {
- final String globalFilePath = System.getProperty(USER_DIR) + this.reefFileNames.getReefGlobal();
- final File[] files = new File(globalFilePath).listFiles(new FilenameFilter() {
- public boolean accept(File dir, String name) {
- return name.toLowerCase().endsWith(DLL_EXTENSION);
- }
- });
-
- LOG.log(Level.INFO, "Total dll files to load from {0} is {1}.", new Object[] {globalFilePath, files.length} );
- for (int i = 0; i < files.length; i++) {
- try {
- LOG.log(Level.INFO, "file to load : " + files[i].toString());
- NativeInterop.loadClrAssembly(files[i].toString());
- } catch (final Exception e) {
- LOG.log(Level.SEVERE, "exception in loading dll library: ", files[i].toString());
- throw e;
- }
- }
- }
-
- /**
- * Get file from jar file and copy it to temp dir and loads the library to memory
- **/
- private void loadFromReefJar(String name, final boolean managed) throws IOException {
-
- name = name + DLL_EXTENSION;
- try {
- File fileOut = null;
- // get input file from jar
- final String path = this.reefFileNames.getReefDriverAppDllDir() + name;
- LOG.log(Level.INFO, "Source file path: " + path);
- final java.net.URL url = NativeInterop.class.getClass().getResource(path);
- if (url != null) {
- LOG.log(Level.INFO, "Source file: " + url.getPath());
- }
- try (final InputStream in = NativeInterop.class.getResourceAsStream(path)) {
- //copy to /reef/CLRLoadingDirectory
- final String tempLoadDir = System.getProperty(USER_DIR) + this.reefFileNames.getLoadDir();
- fileOut = new File(tempLoadDir + LIB_BIN + name);
- LOG.log(Level.INFO, "Destination file: " + fileOut.toString());
- if (null == in) {
- LOG.log(Level.WARNING, "Cannot find " + path);
- return;
- }
- try (final OutputStream out = new FileOutputStream(fileOut) ) {
- IOUtils.copy(in, out);
- }
- }
- loadAssembly(fileOut, managed);
- } catch (final FileNotFoundException e) {
- LOG.log(Level.SEVERE, "File not find exception: ", name);
- throw e;
- } catch (IOException e) {
- LOG.log(Level.SEVERE, "File copy error: ", name);
- throw e;
- }
- }
-
- /**
- * load assembly
- * @param fileOut
- * @param managed
- */
- private void loadAssembly(final File fileOut, final boolean managed) {
- if (managed) {
- NativeInterop.loadClrAssembly(fileOut.toString());
- LOG.log(Level.INFO, "Loading DLL managed done");
- } else {
- System.load(fileOut.toString());
- LOG.log(Level.INFO, "Loading DLL not managed done");
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeBridge.java
deleted file mode 100644
index 4249ba7..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeBridge.java
+++ /dev/null
@@ -1,32 +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.
- */
-package org.apache.reef.javabridge;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public abstract class NativeBridge implements AutoCloseable {
-
- private static final Logger LOG = Logger.getLogger(ActiveContextBridge.class.getName());
-
- public void onError(String errorMessage) {
- LOG.log(Level.SEVERE, "Bridge received error from CLR: " + errorMessage);
- throw new RuntimeException("Bridge received error from CLR: " + errorMessage);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeInterop.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeInterop.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeInterop.java
deleted file mode 100644
index 9fe61c1..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeInterop.java
+++ /dev/null
@@ -1,166 +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.
- */
-package org.apache.reef.javabridge;
-
-import java.util.HashMap;
-
-public class NativeInterop {
- public static final String CLASS_HIERARCHY_FILENAME = "clrClassHierarchy.bin";
- public static final String GLOBAL_LIBRARIES_FILENAME = "userSuppliedGlobalLibraries.txt";
- public static final String EvaluatorRequestorKey = "EvaluatorRequestor";
- public static final String AllocatedEvaluatorKey = "AllocatedEvaluator";
- public static final String ActiveContextKey = "ActiveContext";
- public static final String TaskMessageKey = "TaskMessage";
- public static final String FailedTaskKey = "FailedTask";
- public static final String FailedEvaluatorKey = "FailedEvaluator";
- public static final String HttpServerKey = "HttpServerKey";
- public static final String CompletedTaskKey = "CompletedTask";
- public static final String RunningTaskKey = "RunningTask";
- public static final String SuspendedTaskKey = "SuspendedTask";
- public static final String CompletedEvaluatorKey = "CompletedEvaluator";
- public static final String ClosedContextKey = "ClosedContext";
- public static final String FailedContextKey = "FailedContext";
- public static final String ContextMessageKey = "ContextMessage";
- public static final String DriverRestartKey = "DriverRestart";
- public static final String DriverRestartActiveContextKey = "DriverRestartActiveContext";
- public static final String DriverRestartRunningTaskKey = "DriverRestartRunningTask";
- public static final HashMap<String, Integer> Handlers = new HashMap<String, Integer>() {
- {
- put(EvaluatorRequestorKey, 0);
- put(AllocatedEvaluatorKey, 1);
- put(ActiveContextKey, 2);
- put(TaskMessageKey, 3);
- put(FailedTaskKey, 4);
- put(FailedEvaluatorKey, 5);
- put(HttpServerKey, 6);
- put(CompletedTaskKey, 7);
- put(RunningTaskKey, 8);
- put(SuspendedTaskKey, 9);
- put(CompletedEvaluatorKey, 10);
- put(ClosedContextKey, 11);
- put(FailedContextKey, 12);
- put(ContextMessageKey, 13);
- put(DriverRestartKey, 14);
- put(DriverRestartActiveContextKey, 15);
- put(DriverRestartRunningTaskKey, 16);
- }
- };
-
- public static final int nHandlers = 17;
-
- public static native void loadClrAssembly(String filePath);
-
- public static native void ClrBufferedLog(int level, String message);
-
- public static native long[] CallClrSystemOnStartHandler(String dateTime, String httpServerPortNumber);
-
- public static native void ClrSystemAllocatedEvaluatorHandlerOnNext(
- long handle,
- AllocatedEvaluatorBridge javaEvaluatorBridge,
- InteropLogger interopLogger
- );
-
- public static native void ClrSystemActiveContextHandlerOnNext(
- long handle,
- ActiveContextBridge javaActiveContextBridge,
- InteropLogger interopLogger
- );
-
- public static native void ClrSystemEvaluatorRequstorHandlerOnNext(
- long handle,
- EvaluatorRequestorBridge javaEvluatorRequstorBridge,
- InteropLogger interopLogger
- );
-
- public static native void ClrSystemTaskMessageHandlerOnNext(
- long handle,
- byte[] mesage,
- TaskMessageBridge javaTaskMessageBridge,
- InteropLogger interopLogger
- );
-
- public static native void ClrSystemFailedTaskHandlerOnNext(
- long handle,
- FailedTaskBridge failedTaskBridge,
- InteropLogger interopLogger
- );
-
- public static native void ClrSystemHttpServerHandlerOnNext(
- long handle,
- HttpServerEventBridge httpServerEventBridge,
- InteropLogger interopLogger
- );
-
- public static native void ClrSystemFailedEvaluatorHandlerOnNext(
- long handle,
- FailedEvaluatorBridge failedEvaluatorBridge,
- InteropLogger interopLogger
- );
-
- public static native void ClrSystemCompletedTaskHandlerOnNext(
- long handle,
- CompletedTaskBridge completedTaskBridge,
- InteropLogger interopLogger
- );
-
- public static native void ClrSystemRunningTaskHandlerOnNext(
- long handle,
- RunningTaskBridge runningTaskBridge,
- InteropLogger interopLogger
- );
-
- public static native void ClrSystemSupendedTaskHandlerOnNext(
- long handle,
- SuspendedTaskBridge suspendedTaskBridge
- );
-
- public static native void ClrSystemCompletdEvaluatorHandlerOnNext(
- long handle,
- CompletedEvaluatorBridge completedEvaluatorBridge
- );
-
- public static native void ClrSystemClosedContextHandlerOnNext(
- long handle,
- ClosedContextBridge closedContextBridge
- );
-
- public static native void ClrSystemFailedContextHandlerOnNext(
- long handle,
- FailedContextBridge failedContextBridge
- );
-
- public static native void ClrSystemContextMessageHandlerOnNext(
- long handle,
- ContextMessageBridge contextMessageBridge
- );
-
- public static native void ClrSystemDriverRestartHandlerOnNext(
- long handle
- );
-
- public static native void ClrSystemDriverRestartActiveContextHandlerOnNext(
- long handle,
- ActiveContextBridge activeContextBridge
- );
-
- public static native void ClrSystemDriverRestartRunningTaskHandlerOnNext(
- long handle,
- RunningTaskBridge runningTaskBridge
- );
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/RunningTaskBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/RunningTaskBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/RunningTaskBridge.java
deleted file mode 100644
index 301c4fc..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/RunningTaskBridge.java
+++ /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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.context.ActiveContext;
-import org.apache.reef.driver.task.RunningTask;
-
-import java.util.logging.Logger;
-
-public class RunningTaskBridge extends NativeBridge {
- private static final Logger LOG = Logger.getLogger(RunningTaskBridge.class.getName());
-
- final private RunningTask jrunningTask;
- final private ActiveContextBridge jactiveContext;
-
- public RunningTaskBridge(RunningTask runningTask) {
- jrunningTask = runningTask;
- final ActiveContext activeContext = runningTask.getActiveContext();
- jactiveContext = new ActiveContextBridge(activeContext);
- }
-
- public final String getId() {
- return jrunningTask.getId();
- }
-
- public final void send(final byte[] message) {
- jrunningTask.send(message);
- }
-
- @Override
- public void close() {
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/SuspendedTaskBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/SuspendedTaskBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/SuspendedTaskBridge.java
deleted file mode 100644
index 16fa3d3..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/SuspendedTaskBridge.java
+++ /dev/null
@@ -1,54 +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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.task.SuspendedTask;
-import org.apache.reef.io.Message;
-import org.apache.reef.io.naming.Identifiable;
-
-public class SuspendedTaskBridge extends NativeBridge implements Identifiable, Message {
-
- private final SuspendedTask jsuspendedTask;
- private final String taskId;
- private final ActiveContextBridge jactiveContext;
-
- public SuspendedTaskBridge(SuspendedTask suspendedTask) {
- jsuspendedTask = suspendedTask;
- taskId = suspendedTask.getId();
- jactiveContext = new ActiveContextBridge(jsuspendedTask.getActiveContext());
- }
-
- public ActiveContextBridge getActiveContext() {
- return jactiveContext;
- }
-
- @Override
- public void close() {
- }
-
- @Override
- public String getId() {
- return taskId;
- }
-
- @Override
- public byte[] get() {
- return jsuspendedTask.get();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/TaskMessageBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/TaskMessageBridge.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/TaskMessageBridge.java
deleted file mode 100644
index 25b0478..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/TaskMessageBridge.java
+++ /dev/null
@@ -1,36 +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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.task.TaskMessage;
-
-public class TaskMessageBridge extends NativeBridge {
- private TaskMessage jtaskMessage;
- private String taskId;
-
- // we don't really need to pass this around, just have this as place holder for future.
- public TaskMessageBridge(TaskMessage taskMessage) {
- jtaskMessage = taskMessage;
- taskId = taskMessage.getId();
- }
-
- @Override
- public void close() {
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/Utilities.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/Utilities.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/Utilities.java
deleted file mode 100644
index e6d0849..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/Utilities.java
+++ /dev/null
@@ -1,57 +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.
- */
-package org.apache.reef.javabridge;
-
-import org.apache.reef.driver.evaluator.EvaluatorDescriptor;
-import org.apache.reef.tang.ClassHierarchy;
-import org.apache.reef.tang.implementation.protobuf.ProtocolBufferClassHierarchy;
-import org.apache.reef.tang.proto.ClassHierarchyProto;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.InetSocketAddress;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-public class Utilities {
- public static ClassHierarchy loadClassHierarchy(String classHierarchyFile) {
- Path p = Paths.get(classHierarchyFile);
- if (!Files.exists(p)) {
- p = Paths.get(System.getProperty("user.dir") + "/reef/global/" + classHierarchyFile);
- }
- if (!Files.exists(p)) {
- throw new RuntimeException("cannot find file " + p.toAbsolutePath());
- }
- try (final InputStream chin = new FileInputStream(p.toAbsolutePath().toString())) {
- final ClassHierarchyProto.Node root = ClassHierarchyProto.Node.parseFrom(chin);
- final ClassHierarchy ch = new ProtocolBufferClassHierarchy(root);
- return ch;
- } catch (final IOException e) {
- final String message = "Unable to load class hierarchy from " + classHierarchyFile;
- throw new RuntimeException(message, e);
- }
- }
-
- public static String getEvaluatorDescriptorString(EvaluatorDescriptor evaluatorDescriptor) {
- InetSocketAddress socketAddress = evaluatorDescriptor.getNodeDescriptor().getInetSocketAddress();
- return "IP=" + socketAddress.getAddress() + ", Port=" + socketAddress.getPort() + ", HostName=" + socketAddress.getHostName() + ", Memory=" + evaluatorDescriptor.getMemory() + ", Core=" + evaluatorDescriptor.getNumberOfCores();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/22f651f8/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobClient.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobClient.java b/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobClient.java
deleted file mode 100644
index 62bfac1..0000000
--- a/lang/java/reef-bridge-project/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobClient.java
+++ /dev/null
@@ -1,322 +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.
- */
-package org.apache.reef.javabridge.generic;
-
-import org.apache.reef.client.*;
-import org.apache.reef.io.network.naming.NameServerConfiguration;
-import org.apache.reef.javabridge.NativeInterop;
-import org.apache.reef.tang.Configuration;
-import org.apache.reef.tang.Configurations;
-import org.apache.reef.tang.annotations.Unit;
-import org.apache.reef.tang.exceptions.BindException;
-import org.apache.reef.tang.formats.AvroConfigurationSerializer;
-import org.apache.reef.tang.formats.ConfigurationModule;
-import org.apache.reef.util.EnvironmentUtils;
-import org.apache.reef.util.logging.LoggingScope;
-import org.apache.reef.util.logging.LoggingScopeFactory;
-import org.apache.reef.wake.EventHandler;
-import org.apache.reef.webserver.HttpHandlerConfiguration;
-import org.apache.reef.webserver.HttpServerReefEventHandler;
-import org.apache.reef.webserver.ReefEventStateManager;
-
-import javax.inject.Inject;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * Clr Bridge Client.
- */
-@Unit
-public class JobClient {
-
- /**
- * Standard java logger.
- */
- private static final Logger LOG = Logger.getLogger(JobClient.class.getName());
-
- /**
- * Reference to the REEF framework.
- * This variable is injected automatically in the constructor.
- */
- private final REEF reef;
-
- /**
- * Job Driver configuration.
- */
- private Configuration driverConfiguration;
- private ConfigurationModule driverConfigModule;
-
- /**
- * A reference to the running job that allows client to send messages back to the job driver
- */
- private RunningJob runningJob;
-
- /**
- * Set to false when job driver is done.
- */
- private boolean isBusy = true;
-
- private int driverMemory;
-
- private String driverId;
-
- private String jobSubmissionDirectory = "reefTmp/job_" + System.currentTimeMillis();
-
- /**
- * A factory that provides LoggingScope
- */
- private final LoggingScopeFactory loggingScopeFactory;
- /**
- * Clr Bridge client.
- * Parameters are injected automatically by TANG.
- *
- * @param reef Reference to the REEF framework.
- */
- @Inject
- JobClient(final REEF reef, final LoggingScopeFactory loggingScopeFactory) throws BindException {
- this.loggingScopeFactory = loggingScopeFactory;
- this.reef = reef;
- this.driverConfigModule = getDriverConfiguration();
- }
-
- public static ConfigurationModule getDriverConfiguration() {
- return EnvironmentUtils.addClasspath(DriverConfiguration.CONF, DriverConfiguration.GLOBAL_LIBRARIES)
- .set(DriverConfiguration.ON_EVALUATOR_ALLOCATED, JobDriver.AllocatedEvaluatorHandler.class)
- .set(DriverConfiguration.ON_EVALUATOR_FAILED, JobDriver.FailedEvaluatorHandler.class)
- .set(DriverConfiguration.ON_CONTEXT_ACTIVE, JobDriver.ActiveContextHandler.class)
- .set(DriverConfiguration.ON_DRIVER_RESTART_CONTEXT_ACTIVE, JobDriver.DriverRestartActiveContextHandler.class)
- .set(DriverConfiguration.ON_CONTEXT_CLOSED, JobDriver.ClosedContextHandler.class)
- .set(DriverConfiguration.ON_CONTEXT_FAILED, JobDriver.FailedContextHandler.class)
- .set(DriverConfiguration.ON_CONTEXT_MESSAGE, JobDriver.ContextMessageHandler.class)
- .set(DriverConfiguration.ON_TASK_MESSAGE, JobDriver.TaskMessageHandler.class)
- .set(DriverConfiguration.ON_TASK_FAILED, JobDriver.FailedTaskHandler.class)
- .set(DriverConfiguration.ON_TASK_RUNNING, JobDriver.RunningTaskHandler.class)
- .set(DriverConfiguration.ON_DRIVER_RESTART_TASK_RUNNING, JobDriver.DriverRestartRunningTaskHandler.class)
- .set(DriverConfiguration.ON_DRIVER_RESTART_COMPLETED, JobDriver.DriverRestartCompletedHandler.class)
- .set(DriverConfiguration.ON_TASK_COMPLETED, JobDriver.CompletedTaskHandler.class)
- .set(DriverConfiguration.ON_DRIVER_STARTED, JobDriver.StartHandler.class)
- .set(DriverConfiguration.ON_DRIVER_RESTARTED, JobDriver.RestartHandler.class)
- .set(DriverConfiguration.ON_TASK_SUSPENDED, JobDriver.SuspendedTaskHandler.class)
- .set(DriverConfiguration.ON_EVALUATOR_COMPLETED, JobDriver.CompletedEvaluatorHandler.class);
- }
-
- private static Configuration getNameServerConfiguration() {
- return NameServerConfiguration.CONF
- .set(NameServerConfiguration.NAME_SERVICE_PORT, 0)
- .build();
- }
-
- /**
- * @return the driver-side configuration to be merged into the DriverConfiguration to enable the HTTP server.
- */
- public static Configuration getHTTPConfiguration() {
- Configuration httpHandlerConfiguration = HttpHandlerConfiguration.CONF
- .set(HttpHandlerConfiguration.HTTP_HANDLERS, HttpServerReefEventHandler.class)
- .build();
-
- Configuration driverConfigurationForHttpServer = DriverServiceConfiguration.CONF
- .set(DriverServiceConfiguration.ON_EVALUATOR_ALLOCATED, ReefEventStateManager.AllocatedEvaluatorStateHandler.class)
- .set(DriverServiceConfiguration.ON_CONTEXT_ACTIVE, ReefEventStateManager.ActiveContextStateHandler.class)
- .set(DriverServiceConfiguration.ON_DRIVER_RESTART_CONTEXT_ACTIVE, ReefEventStateManager.DrivrRestartActiveContextStateHandler.class)
- .set(DriverServiceConfiguration.ON_TASK_RUNNING, ReefEventStateManager.TaskRunningStateHandler.class)
- .set(DriverServiceConfiguration.ON_DRIVER_RESTART_TASK_RUNNING, ReefEventStateManager.DriverRestartTaskRunningStateHandler.class)
- .set(DriverServiceConfiguration.ON_DRIVER_STARTED, ReefEventStateManager.StartStateHandler.class)
- .set(DriverServiceConfiguration.ON_DRIVER_STOP, ReefEventStateManager.StopStateHandler.class)
- .build();
- return Configurations.merge(httpHandlerConfiguration, driverConfigurationForHttpServer);
- }
-
- public void addCLRFiles(final File folder) throws BindException {
- try (final LoggingScope ls = this.loggingScopeFactory.getNewLoggingScope("JobClient::addCLRFiles")) {
- ConfigurationModule result = this.driverConfigModule;
- for (final File f : folder.listFiles()) {
- if (f.canRead() && f.exists() && f.isFile()) {
- result = result.set(DriverConfiguration.GLOBAL_FILES, f.getAbsolutePath());
- }
- }
-
- // set the driver memory, id and job submission directory
- this.driverConfigModule = result
- .set(DriverConfiguration.DRIVER_MEMORY, this.driverMemory)
- .set(DriverConfiguration.DRIVER_IDENTIFIER, this.driverId)
- .set(DriverConfiguration.DRIVER_JOB_SUBMISSION_DIRECTORY, this.jobSubmissionDirectory);
-
-
- Path globalLibFile = Paths.get(NativeInterop.GLOBAL_LIBRARIES_FILENAME);
- if (!Files.exists(globalLibFile)) {
- LOG.log(Level.FINE, "Cannot find global classpath file at: {0}, assume there is none.", globalLibFile.toAbsolutePath());
- } else {
- String globalLibString = "";
- try {
- globalLibString = new String(Files.readAllBytes(globalLibFile));
- } catch (final Exception e) {
- LOG.log(Level.WARNING, "Cannot read from {0}, global libraries not added " + globalLibFile.toAbsolutePath());
- }
-
- for (final String s : globalLibString.split(",")) {
- File f = new File(s);
- this.driverConfigModule = this.driverConfigModule.set(DriverConfiguration.GLOBAL_LIBRARIES, f.getPath());
- }
- }
-
- this.driverConfiguration = Configurations.merge(this.driverConfigModule.build(), getHTTPConfiguration(), getNameServerConfiguration());
- }
- }
-
- /**
- * Launch the job driver.
- *
- * @throws org.apache.reef.tang.exceptions.BindException configuration error.
- */
- public void submit(final File clrFolder, final boolean submitDriver, final Configuration clientConfig) {
- try (final LoggingScope ls = this.loggingScopeFactory.driverSubmit(submitDriver)) {
- try {
- addCLRFiles(clrFolder);
- } catch (final BindException e) {
- LOG.log(Level.FINE, "Failed to bind", e);
- }
- if (submitDriver) {
- this.reef.submit(this.driverConfiguration);
- } else {
- File driverConfig = new File(System.getProperty("user.dir") + "/driver.config");
- try {
- new AvroConfigurationSerializer().toFile(Configurations.merge(this.driverConfiguration, clientConfig), driverConfig);
- LOG.log(Level.INFO, "Driver configuration file created at " + driverConfig.getAbsolutePath());
- } catch (final IOException e) {
- throw new RuntimeException("Cannot create driver configuration file at " + driverConfig.getAbsolutePath());
- }
- }
- }
- }
-
- /**
- * Set the driver memory
- */
- public void setDriverInfo(final String identifier, final int memory, final String jobSubmissionDirectory) {
- if (identifier == null || identifier.isEmpty()) {
- throw new RuntimeException("driver id cannot be null or empty");
- }
- if (memory <= 0) {
- throw new RuntimeException("driver memory cannot be negative number: " + memory);
- }
- this.driverMemory = memory;
- this.driverId = identifier;
- if (jobSubmissionDirectory != null && !jobSubmissionDirectory.equals("empty")) {
- this.jobSubmissionDirectory = jobSubmissionDirectory;
- } else {
- LOG.log(Level.FINE, "No job submission directory provided by CLR user, will use " + this.jobSubmissionDirectory);
- }
- }
-
- /**
- * Notify the process in waitForCompletion() method that the main process has finished.
- */
- private synchronized void stopAndNotify() {
- this.runningJob = null;
- this.isBusy = false;
- this.notify();
- }
-
- /**
- * Wait for the job driver to complete. This method is called from Launcher.main()
- */
- public void waitForCompletion(final int waitTime) {
- LOG.info("Waiting for the Job Driver to complete: " + waitTime);
- if (waitTime == 0) {
- close(0);
- return;
- } else if (waitTime < 0) {
- waitTillDone();
- }
- long endTime = System.currentTimeMillis() + waitTime * 1000;
- close(endTime);
- }
-
- public void close(final long endTime) {
- while (endTime > System.currentTimeMillis()) {
- try {
- Thread.sleep(1000);
- } catch (final InterruptedException e) {
- LOG.log(Level.SEVERE, "Thread sleep failed");
- }
- }
- LOG.log(Level.INFO, "Done waiting.");
- this.stopAndNotify();
- reef.close();
- }
-
- private void waitTillDone() {
- while (this.isBusy) {
- try {
- synchronized (this) {
- this.wait();
- }
- } catch (final InterruptedException ex) {
- LOG.log(Level.WARNING, "Waiting for result interrupted.", ex);
- }
- }
- this.reef.close();
- }
-
- /**
- * Receive notification from the job driver that the job had failed.
- */
- final class FailedJobHandler implements EventHandler<FailedJob> {
- @Override
- public void onNext(final FailedJob job) {
- LOG.log(Level.SEVERE, "Failed job: " + job.getId(), job.getMessage());
- stopAndNotify();
- }
- }
-
- /**
- * Receive notification from the job driver that the job had completed successfully.
- */
- final class CompletedJobHandler implements EventHandler<CompletedJob> {
- @Override
- public void onNext(final CompletedJob job) {
- LOG.log(Level.INFO, "Completed job: {0}", job.getId());
- stopAndNotify();
- }
- }
-
- /**
- * Receive notification that there was an exception thrown from the job driver.
- */
- final class RuntimeErrorHandler implements EventHandler<FailedRuntime> {
- @Override
- public void onNext(final FailedRuntime error) {
- LOG.log(Level.SEVERE, "Error in job driver: " + error, error.getMessage());
- stopAndNotify();
- }
- }
-
- final class WakeErrorHandler implements EventHandler<Throwable> {
- @Override
- public void onNext(Throwable error) {
- LOG.log(Level.SEVERE, "Error communicating with job driver, exiting... ", error);
- stopAndNotify();
- }
- }
-}