blob: a2a3b2400941ee7701a7530fc6fb16dd2577c70c [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.7.0_131) on Fri Mar 10 00:31:40 UTC 2017 -->
<title>Scheduler</title>
<meta name="date" content="2017-03-10">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Scheduler";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../org/apache/mesos/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/mesos/Protos.WeightInfoOrBuilder.html" title="interface in org.apache.mesos"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/mesos/Scheduler.html" target="_top">Frames</a></li>
<li><a href="Scheduler.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.mesos</div>
<h2 title="Interface Scheduler" class="title">Interface Scheduler</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="strong">Scheduler</span></pre>
<div class="block">Callback interface to be implemented by frameworks'
schedulers. Note that only one callback will be invoked at a time,
so it is not recommended that you block within a callback because
it may cause a deadlock.
<p>
Each callback includes a reference to the scheduler driver that was
used to run this scheduler. The reference will not change for the
duration of a scheduler (i.e., from the point you do <a href="../../../org/apache/mesos/SchedulerDriver.html#start()"><code>SchedulerDriver.start()</code></a> to the point that <a href="../../../org/apache/mesos/SchedulerDriver.html#join()"><code>SchedulerDriver.join()</code></a> returns). This is intended for convenience so
that a scheduler doesn't need to store a reference to the driver
itself.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Scheduler.html#disconnected(org.apache.mesos.SchedulerDriver)">disconnected</a></strong>(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver)</code>
<div class="block">Invoked when the scheduler becomes "disconnected" from the master
(e.g., the master fails and another is taking over).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Scheduler.html#error(org.apache.mesos.SchedulerDriver,%20java.lang.String)">error</a></strong>(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
java.lang.String&nbsp;message)</code>
<div class="block">Invoked when there is an unrecoverable error in the scheduler or
driver.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Scheduler.html#executorLost(org.apache.mesos.SchedulerDriver,%20org.apache.mesos.Protos.ExecutorID,%20org.apache.mesos.Protos.SlaveID,%20int)">executorLost</a></strong>(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.ExecutorID.html" title="class in org.apache.mesos">Protos.ExecutorID</a>&nbsp;executorId,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos">Protos.SlaveID</a>&nbsp;slaveId,
int&nbsp;status)</code>
<div class="block">Invoked when an executor has exited/terminated.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Scheduler.html#frameworkMessage(org.apache.mesos.SchedulerDriver,%20org.apache.mesos.Protos.ExecutorID,%20org.apache.mesos.Protos.SlaveID,%20byte[])">frameworkMessage</a></strong>(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.ExecutorID.html" title="class in org.apache.mesos">Protos.ExecutorID</a>&nbsp;executorId,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos">Protos.SlaveID</a>&nbsp;slaveId,
byte[]&nbsp;data)</code>
<div class="block">Invoked when an executor sends a message.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Scheduler.html#offerRescinded(org.apache.mesos.SchedulerDriver,%20org.apache.mesos.Protos.OfferID)">offerRescinded</a></strong>(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&nbsp;offerId)</code>
<div class="block">Invoked when an offer is no longer valid (e.g., the slave was
lost or another framework used resources in the offer).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Scheduler.html#registered(org.apache.mesos.SchedulerDriver,%20org.apache.mesos.Protos.FrameworkID,%20org.apache.mesos.Protos.MasterInfo)">registered</a></strong>(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.FrameworkID.html" title="class in org.apache.mesos">Protos.FrameworkID</a>&nbsp;frameworkId,
<a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos">Protos.MasterInfo</a>&nbsp;masterInfo)</code>
<div class="block">Invoked when the scheduler successfully registers with a Mesos
master.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Scheduler.html#reregistered(org.apache.mesos.SchedulerDriver,%20org.apache.mesos.Protos.MasterInfo)">reregistered</a></strong>(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos">Protos.MasterInfo</a>&nbsp;masterInfo)</code>
<div class="block">Invoked when the scheduler re-registers with a newly elected Mesos master.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Scheduler.html#resourceOffers(org.apache.mesos.SchedulerDriver,%20java.util.List)">resourceOffers</a></strong>(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
java.util.List&lt;<a href="../../../org/apache/mesos/Protos.Offer.html" title="class in org.apache.mesos">Protos.Offer</a>&gt;&nbsp;offers)</code>
<div class="block">Invoked when resources have been offered to this framework.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Scheduler.html#slaveLost(org.apache.mesos.SchedulerDriver,%20org.apache.mesos.Protos.SlaveID)">slaveLost</a></strong>(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos">Protos.SlaveID</a>&nbsp;slaveId)</code>
<div class="block">Invoked when a slave has been determined unreachable (e.g.,
machine failure, network partition).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Scheduler.html#statusUpdate(org.apache.mesos.SchedulerDriver,%20org.apache.mesos.Protos.TaskStatus)">statusUpdate</a></strong>(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.TaskStatus.html" title="class in org.apache.mesos">Protos.TaskStatus</a>&nbsp;status)</code>
<div class="block">Invoked when the status of a task has changed (e.g., a slave is
lost and so the task is lost, a task finishes and an executor
sends a status update saying so, etc).</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="registered(org.apache.mesos.SchedulerDriver, org.apache.mesos.Protos.FrameworkID, org.apache.mesos.Protos.MasterInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registered</h4>
<pre>void&nbsp;registered(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.FrameworkID.html" title="class in org.apache.mesos">Protos.FrameworkID</a>&nbsp;frameworkId,
<a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos">Protos.MasterInfo</a>&nbsp;masterInfo)</pre>
<div class="block">Invoked when the scheduler successfully registers with a Mesos
master. A unique ID (generated by the master) used for
distinguishing this framework from others and MasterInfo
with the IP and port of the current master are provided as arguments.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>driver</code> - The scheduler driver that was registered.</dd><dd><code>frameworkId</code> - The framework ID generated by the master.</dd><dd><code>masterInfo</code> - Info about the current master, including IP and port.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos"><code>SchedulerDriver</code></a>,
<a href="../../../org/apache/mesos/Protos.FrameworkID.html" title="class in org.apache.mesos"><code>Protos.FrameworkID</code></a>,
<a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos"><code>Protos.MasterInfo</code></a></dd></dl>
</li>
</ul>
<a name="reregistered(org.apache.mesos.SchedulerDriver, org.apache.mesos.Protos.MasterInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reregistered</h4>
<pre>void&nbsp;reregistered(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos">Protos.MasterInfo</a>&nbsp;masterInfo)</pre>
<div class="block">Invoked when the scheduler re-registers with a newly elected Mesos master.
This is only called when the scheduler has previously been registered.
MasterInfo containing the updated information about the elected master
is provided as an argument.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>driver</code> - The driver that was re-registered.</dd><dd><code>masterInfo</code> - The updated information about the elected master.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos"><code>SchedulerDriver</code></a>,
<a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos"><code>Protos.MasterInfo</code></a></dd></dl>
</li>
</ul>
<a name="resourceOffers(org.apache.mesos.SchedulerDriver, java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resourceOffers</h4>
<pre>void&nbsp;resourceOffers(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
java.util.List&lt;<a href="../../../org/apache/mesos/Protos.Offer.html" title="class in org.apache.mesos">Protos.Offer</a>&gt;&nbsp;offers)</pre>
<div class="block">Invoked when resources have been offered to this framework. A
single offer will only contain resources from a single slave.
Resources associated with an offer will not be re-offered to
_this_ framework until either (a) this framework has rejected
those resources (see <a href="../../../org/apache/mesos/SchedulerDriver.html#launchTasks(java.util.Collection,%20java.util.Collection,%20org.apache.mesos.Protos.Filters)"><code>SchedulerDriver.launchTasks(java.util.Collection&lt;org.apache.mesos.Protos.OfferID&gt;, java.util.Collection&lt;org.apache.mesos.Protos.TaskInfo&gt;, org.apache.mesos.Protos.Filters)</code></a>) or (b)
those resources have been rescinded (see <a href="../../../org/apache/mesos/Scheduler.html#offerRescinded(org.apache.mesos.SchedulerDriver,%20org.apache.mesos.Protos.OfferID)"><code>offerRescinded(org.apache.mesos.SchedulerDriver, org.apache.mesos.Protos.OfferID)</code></a>).
Note that resources may be concurrently offered to more than one
framework at a time (depending on the allocator being used). In
that case, the first framework to launch tasks using those
resources will be able to use them while the other frameworks
will have those resources rescinded (or if a framework has
already launched tasks with those resources then those tasks will
fail with a TASK_LOST status and a message saying as much).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>driver</code> - The driver that was used to run this scheduler.</dd><dd><code>offers</code> - The resources offered to this framework.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos"><code>SchedulerDriver</code></a>,
<a href="../../../org/apache/mesos/Protos.Offer.html" title="class in org.apache.mesos"><code>Protos.Offer</code></a></dd></dl>
</li>
</ul>
<a name="offerRescinded(org.apache.mesos.SchedulerDriver, org.apache.mesos.Protos.OfferID)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>offerRescinded</h4>
<pre>void&nbsp;offerRescinded(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos">Protos.OfferID</a>&nbsp;offerId)</pre>
<div class="block">Invoked when an offer is no longer valid (e.g., the slave was
lost or another framework used resources in the offer). If for
whatever reason an offer is never rescinded (e.g., dropped
message, failing over framework, etc.), a framework that attempts
to launch tasks using an invalid offer will receive TASK_LOST
status updates for those tasks (see <a href="../../../org/apache/mesos/Scheduler.html#resourceOffers(org.apache.mesos.SchedulerDriver,%20java.util.List)"><code>resourceOffers(org.apache.mesos.SchedulerDriver, java.util.List&lt;org.apache.mesos.Protos.Offer&gt;)</code></a>).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>driver</code> - The driver that was used to run this scheduler.</dd><dd><code>offerId</code> - The ID of the offer that was rescinded.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos"><code>SchedulerDriver</code></a>,
<a href="../../../org/apache/mesos/Protos.OfferID.html" title="class in org.apache.mesos"><code>Protos.OfferID</code></a></dd></dl>
</li>
</ul>
<a name="statusUpdate(org.apache.mesos.SchedulerDriver, org.apache.mesos.Protos.TaskStatus)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>statusUpdate</h4>
<pre>void&nbsp;statusUpdate(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.TaskStatus.html" title="class in org.apache.mesos">Protos.TaskStatus</a>&nbsp;status)</pre>
<div class="block">Invoked when the status of a task has changed (e.g., a slave is
lost and so the task is lost, a task finishes and an executor
sends a status update saying so, etc). If implicit
acknowledgements are being used, then returning from this
callback _acknowledges_ receipt of this status update! If for
whatever reason the scheduler aborts during this callback (or
the process exits) another status update will be delivered (note,
however, that this is currently not true if the slave sending the
status update is lost/fails during that time). If explicit
acknowledgements are in use, the scheduler must acknowledge this
status on the driver.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>driver</code> - The driver that was used to run this scheduler.</dd><dd><code>status</code> - The status update, which includes the task ID and status.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos"><code>SchedulerDriver</code></a>,
<a href="../../../org/apache/mesos/Protos.TaskStatus.html" title="class in org.apache.mesos"><code>Protos.TaskStatus</code></a></dd></dl>
</li>
</ul>
<a name="frameworkMessage(org.apache.mesos.SchedulerDriver, org.apache.mesos.Protos.ExecutorID, org.apache.mesos.Protos.SlaveID, byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>frameworkMessage</h4>
<pre>void&nbsp;frameworkMessage(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.ExecutorID.html" title="class in org.apache.mesos">Protos.ExecutorID</a>&nbsp;executorId,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos">Protos.SlaveID</a>&nbsp;slaveId,
byte[]&nbsp;data)</pre>
<div class="block">Invoked when an executor sends a message. These messages are best
effort; do not expect a framework message to be retransmitted in
any reliable fashion.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>driver</code> - The driver that received the message.</dd><dd><code>executorId</code> - The ID of the executor that sent the message.</dd><dd><code>slaveId</code> - The ID of the slave that launched the executor.</dd><dd><code>data</code> - The message payload.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos"><code>SchedulerDriver</code></a>,
<a href="../../../org/apache/mesos/Protos.ExecutorID.html" title="class in org.apache.mesos"><code>Protos.ExecutorID</code></a>,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos"><code>Protos.SlaveID</code></a></dd></dl>
</li>
</ul>
<a name="disconnected(org.apache.mesos.SchedulerDriver)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disconnected</h4>
<pre>void&nbsp;disconnected(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver)</pre>
<div class="block">Invoked when the scheduler becomes "disconnected" from the master
(e.g., the master fails and another is taking over).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>driver</code> - The driver that was used to run this scheduler.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos"><code>SchedulerDriver</code></a></dd></dl>
</li>
</ul>
<a name="slaveLost(org.apache.mesos.SchedulerDriver, org.apache.mesos.Protos.SlaveID)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>slaveLost</h4>
<pre>void&nbsp;slaveLost(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos">Protos.SlaveID</a>&nbsp;slaveId)</pre>
<div class="block">Invoked when a slave has been determined unreachable (e.g.,
machine failure, network partition). Most frameworks will need to
reschedule any tasks launched on this slave on a new slave.
NOTE: This callback is not reliably delivered. If a host or
network failure causes messages between the master and the
scheduler to be dropped, this callback may not be invoked.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>driver</code> - The driver that was used to run this scheduler.</dd><dd><code>slaveId</code> - The ID of the slave that was lost.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos"><code>SchedulerDriver</code></a>,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos"><code>Protos.SlaveID</code></a></dd></dl>
</li>
</ul>
<a name="executorLost(org.apache.mesos.SchedulerDriver, org.apache.mesos.Protos.ExecutorID, org.apache.mesos.Protos.SlaveID, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executorLost</h4>
<pre>void&nbsp;executorLost(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
<a href="../../../org/apache/mesos/Protos.ExecutorID.html" title="class in org.apache.mesos">Protos.ExecutorID</a>&nbsp;executorId,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos">Protos.SlaveID</a>&nbsp;slaveId,
int&nbsp;status)</pre>
<div class="block">Invoked when an executor has exited/terminated. Note that any
tasks running will have TASK_LOST status updates automagically
generated.
NOTE: This callback is not reliably delivered. If a host or
network failure causes messages between the master and the
scheduler to be dropped, this callback may not be invoked.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>driver</code> - The driver that was used to run this scheduler.</dd><dd><code>executorId</code> - The ID of the executor that was lost.</dd><dd><code>slaveId</code> - The ID of the slave that launched the executor.</dd><dd><code>status</code> - The exit status of the executor.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos"><code>SchedulerDriver</code></a>,
<a href="../../../org/apache/mesos/Protos.ExecutorID.html" title="class in org.apache.mesos"><code>Protos.ExecutorID</code></a>,
<a href="../../../org/apache/mesos/Protos.SlaveID.html" title="class in org.apache.mesos"><code>Protos.SlaveID</code></a>,
<a href="../../../org/apache/mesos/Protos.Status.html" title="enum in org.apache.mesos"><code>Protos.Status</code></a></dd></dl>
</li>
</ul>
<a name="error(org.apache.mesos.SchedulerDriver, java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>error</h4>
<pre>void&nbsp;error(<a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos">SchedulerDriver</a>&nbsp;driver,
java.lang.String&nbsp;message)</pre>
<div class="block">Invoked when there is an unrecoverable error in the scheduler or
driver. The driver will be aborted BEFORE invoking this callback.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>driver</code> - The driver that was used to run this scheduler.</dd><dd><code>message</code> - The error message.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos"><code>SchedulerDriver</code></a></dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../org/apache/mesos/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/mesos/Protos.WeightInfoOrBuilder.html" title="interface in org.apache.mesos"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/apache/mesos/SchedulerDriver.html" title="interface in org.apache.mesos"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/mesos/Scheduler.html" target="_top">Frames</a></li>
<li><a href="Scheduler.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>