[
https://issues.apache.org/jira/browse/FLINK-1984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15426241#comment-15426241
]
ASF GitHub Bot commented on FLINK-1984:
---------------------------------------
Github user mxm commented on a diff in the pull request:
https://github.com/apache/flink/pull/2315#discussion_r75285550
--- Diff:
flink-mesos/src/main/java/org/apache/flink/mesos/scheduler/SchedulerProxy.java
---
@@ -0,0 +1,105 @@
+/*
+ * 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.flink.mesos.scheduler;
+
+import akka.actor.ActorRef;
+
+import org.apache.flink.mesos.scheduler.messages.Disconnected;
+import org.apache.flink.mesos.scheduler.messages.Error;
+import org.apache.flink.mesos.scheduler.messages.Error;
+import org.apache.flink.mesos.scheduler.messages.OfferRescinded;
+import org.apache.flink.mesos.scheduler.messages.ReRegistered;
+import org.apache.flink.mesos.scheduler.messages.Registered;
+import org.apache.flink.mesos.scheduler.messages.ResourceOffers;
+import org.apache.flink.mesos.scheduler.messages.SlaveLost;
+import org.apache.flink.mesos.scheduler.messages.StatusUpdate;
+import org.apache.mesos.Protos;
+import org.apache.mesos.Scheduler;
+import org.apache.mesos.SchedulerDriver;
+
+import java.util.List;
+
+/**
+ * This class reacts to callbacks from the Mesos scheduler driver.
+ *
+ * In order to preserve actor concurrency safety, this class simply sends
+ * corresponding messages to the Mesos resource master actor.
+ *
+ * See
https://mesos.apache.org/api/latest/java/org/apache/mesos/Scheduler.html
+ */
+public class SchedulerProxy implements Scheduler {
+
+ /** The actor to which we report the callbacks */
+ private ActorRef mesosActor;
+
+ public SchedulerProxy(ActorRef mesosActor) {
+ this.mesosActor = mesosActor;
+ }
+
+ @Override
+ public void registered(SchedulerDriver driver, Protos.FrameworkID
frameworkId, Protos.MasterInfo masterInfo) {
+ mesosActor.tell(new Registered(frameworkId, masterInfo),
ActorRef.noSender());
+ }
+
+ @Override
+ public void reregistered(SchedulerDriver driver, Protos.MasterInfo
masterInfo) {
+ mesosActor.tell(new ReRegistered(masterInfo),
ActorRef.noSender());
+ }
+
+ @Override
+ public void disconnected(SchedulerDriver driver) {
+ mesosActor.tell(new Disconnected(), ActorRef.noSender());
+ }
+
+
+ @Override
+ public void resourceOffers(SchedulerDriver driver, List<Protos.Offer>
offers) {
+ mesosActor.tell(new ResourceOffers(offers),
ActorRef.noSender());
+ }
+
+ @Override
+ public void offerRescinded(SchedulerDriver driver, Protos.OfferID
offerId) {
+ mesosActor.tell(new OfferRescinded(offerId),
ActorRef.noSender());
+ }
+
+ @Override
+ public void statusUpdate(SchedulerDriver driver, Protos.TaskStatus
status) {
+ mesosActor.tell(new StatusUpdate(status), ActorRef.noSender());
+ }
+
+ @Override
+ public void frameworkMessage(SchedulerDriver driver, Protos.ExecutorID
executorId, Protos.SlaveID slaveId, byte[] data) {
+ throw new UnsupportedOperationException("frameworkMessage is
unexpected");
+ }
+
+ @Override
+ public void slaveLost(SchedulerDriver driver, Protos.SlaveID slaveId) {
+ mesosActor.tell(new SlaveLost(slaveId), ActorRef.noSender());
+ }
+
+ @Override
+ public void executorLost(SchedulerDriver driver, Protos.ExecutorID
executorId, Protos.SlaveID slaveId, int status) {
+ throw new UnsupportedOperationException("executorLost is
unexpected");
--- End diff --
Why don't we forward this message and crash the actor instead?
> Integrate Flink with Apache Mesos
> ---------------------------------
>
> Key: FLINK-1984
> URL: https://issues.apache.org/jira/browse/FLINK-1984
> Project: Flink
> Issue Type: New Feature
> Components: Cluster Management
> Reporter: Robert Metzger
> Assignee: Eron Wright
> Priority: Minor
> Attachments: 251.patch
>
>
> There are some users asking for an integration of Flink into Mesos.
> -There also is a pending pull request for adding Mesos support for Flink-:
> https://github.com/apache/flink/pull/251
> Update (May '16): a new effort is now underway, building on the recent
> ResourceManager work.
> Design document: ([google
> doc|https://docs.google.com/document/d/1WItafBmGbjlaBbP8Of5PAFOH9GUJQxf5S4hjEuPchuU/edit?usp=sharing])
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)