Modified: mesos/site/source/api/latest/java/allclasses-frame.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/allclasses-frame.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/allclasses-frame.html (original)
+++ mesos/site/source/api/latest/java/allclasses-frame.html Sun Aug 24 23:10:33 
2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>All Classes</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/allclasses-noframe.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/allclasses-noframe.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/allclasses-noframe.html (original)
+++ mesos/site/source/api/latest/java/allclasses-noframe.html Sun Aug 24 
23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>All Classes</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/constant-values.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/constant-values.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/constant-values.html (original)
+++ mesos/site/source/api/latest/java/constant-values.html Sun Aug 24 23:10:33 
2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Constant Field Values</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/deprecated-list.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/deprecated-list.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/deprecated-list.html (original)
+++ mesos/site/source/api/latest/java/deprecated-list.html Sun Aug 24 23:10:33 
2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Deprecated List</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/help-doc.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/help-doc.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/help-doc.html (original)
+++ mesos/site/source/api/latest/java/help-doc.html Sun Aug 24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>API Help</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/index-all.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/index-all.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/index-all.html (original)
+++ mesos/site/source/api/latest/java/index-all.html Sun Aug 24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Index</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="./stylesheet.css" title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/index.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/index.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/index.html (original)
+++ mesos/site/source/api/latest/java/index.html Sun Aug 24 23:10:33 2014
@@ -2,7 +2,7 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc on Mon Jul 28 11:30:36 PDT 2014 -->
+<!-- Generated by javadoc on Sun Aug 24 10:49:53 PDT 2014 -->
 <title>Generated Documentation (Untitled)</title>
 <script type="text/javascript">
     targetPage = "" + window.location.search;

Modified: mesos/site/source/api/latest/java/org/apache/mesos/Executor.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/Executor.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/Executor.html (original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/Executor.html Sun Aug 24 
23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Executor</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/org/apache/mesos/ExecutorDriver.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/ExecutorDriver.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/ExecutorDriver.html 
(original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/ExecutorDriver.html Sun 
Aug 24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>ExecutorDriver</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/org/apache/mesos/Log.Entry.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/Log.Entry.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/Log.Entry.html (original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/Log.Entry.html Sun Aug 
24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Log.Entry</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: 
mesos/site/source/api/latest/java/org/apache/mesos/Log.OperationFailedException.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/Log.OperationFailedException.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- 
mesos/site/source/api/latest/java/org/apache/mesos/Log.OperationFailedException.html
 (original)
+++ 
mesos/site/source/api/latest/java/org/apache/mesos/Log.OperationFailedException.html
 Sun Aug 24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Log.OperationFailedException</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/org/apache/mesos/Log.Position.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/Log.Position.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/Log.Position.html 
(original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/Log.Position.html Sun 
Aug 24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Log.Position</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/org/apache/mesos/Log.Reader.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/Log.Reader.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/Log.Reader.html 
(original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/Log.Reader.html Sun Aug 
24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Log.Reader</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/org/apache/mesos/Log.Writer.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/Log.Writer.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/Log.Writer.html 
(original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/Log.Writer.html Sun Aug 
24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Log.Writer</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: 
mesos/site/source/api/latest/java/org/apache/mesos/Log.WriterFailedException.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/Log.WriterFailedException.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- 
mesos/site/source/api/latest/java/org/apache/mesos/Log.WriterFailedException.html
 (original)
+++ 
mesos/site/source/api/latest/java/org/apache/mesos/Log.WriterFailedException.html
 Sun Aug 24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Log.WriterFailedException</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/org/apache/mesos/Log.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/Log.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/Log.html (original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/Log.html Sun Aug 24 
23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Log</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: 
mesos/site/source/api/latest/java/org/apache/mesos/MesosExecutorDriver.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/MesosExecutorDriver.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/MesosExecutorDriver.html 
(original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/MesosExecutorDriver.html 
Sun Aug 24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>MesosExecutorDriver</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>
@@ -111,6 +111,14 @@ implements <a href="../../../org/apache/
  Note that blocking on the MesosExecutorDriver (e.g., via <a 
href="../../../org/apache/mesos/MesosExecutorDriver.html#join()"><code>join()</code></a>)
 doesn't affect the executor callbacks in anyway because
  they are handled by a different thread.
  <p>
+ <p>
+ Note that the driver uses GLOG to do its own logging. GLOG flags can
+ be set via environment variables, prefixing the flag name with
+ "GLOG_", e.g., "GLOG_v=1". For Mesos specific logging flags see
+ src/logging/flags.hpp. Mesos flags can also be set via environment
+ variables, prefixing the flag name with "MESOS_", e.g.,
+ "MESOS_QUIET=1".
+ <p>
  See src/examples/java/TestExecutor.java for an example of using the
  MesosExecutorDriver.</div>
 </li>

Modified: 
mesos/site/source/api/latest/java/org/apache/mesos/MesosSchedulerDriver.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/MesosSchedulerDriver.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- 
mesos/site/source/api/latest/java/org/apache/mesos/MesosSchedulerDriver.html 
(original)
+++ 
mesos/site/source/api/latest/java/org/apache/mesos/MesosSchedulerDriver.html 
Sun Aug 24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>MesosSchedulerDriver</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>
@@ -116,6 +116,14 @@ implements <a href="../../../org/apache/
  Note that blocking on the MesosSchedulerDriver (e.g., via <a 
href="../../../org/apache/mesos/MesosSchedulerDriver.html#join()"><code>join()</code></a>)
 doesn't affect the scheduler callbacks in anyway because
  they are handled by a different thread.
  <p>
+ <p>
+ Note that the driver uses GLOG to do its own logging. GLOG flags can
+ be set via environment variables, prefixing the flag name with
+ "GLOG_", e.g., "GLOG_v=1". For Mesos specific logging flags see
+ src/logging/flags.hpp. Mesos flags can also be set via environment
+ variables, prefixing the flag name with "MESOS_", e.g.,
+ "MESOS_QUIET=1".
+ <p>
  See src/examples/java/TestFramework.java for an example of using
  the MesosSchedulerDriver.</div>
 </li>

Modified: mesos/site/source/api/latest/java/org/apache/mesos/Scheduler.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/Scheduler.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/Scheduler.html (original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/Scheduler.html Sun Aug 
24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Scheduler</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: 
mesos/site/source/api/latest/java/org/apache/mesos/SchedulerDriver.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/SchedulerDriver.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/SchedulerDriver.html 
(original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/SchedulerDriver.html Sun 
Aug 24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>SchedulerDriver</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/org/apache/mesos/package-frame.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/package-frame.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/package-frame.html 
(original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/package-frame.html Sun 
Aug 24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>org.apache.mesos</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: 
mesos/site/source/api/latest/java/org/apache/mesos/package-summary.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/package-summary.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/package-summary.html 
(original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/package-summary.html Sun 
Aug 24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>org.apache.mesos</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/org/apache/mesos/package-tree.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/org/apache/mesos/package-tree.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/org/apache/mesos/package-tree.html 
(original)
+++ mesos/site/source/api/latest/java/org/apache/mesos/package-tree.html Sun 
Aug 24 23:10:33 2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>org.apache.mesos Class Hierarchy</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/overview-tree.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/overview-tree.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/overview-tree.html (original)
+++ mesos/site/source/api/latest/java/overview-tree.html Sun Aug 24 23:10:33 
2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Class Hierarchy</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 </head>
 <body>

Modified: mesos/site/source/api/latest/java/serialized-form.html
URL: 
http://svn.apache.org/viewvc/mesos/site/source/api/latest/java/serialized-form.html?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/api/latest/java/serialized-form.html (original)
+++ mesos/site/source/api/latest/java/serialized-form.html Sun Aug 24 23:10:33 
2014
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_25) on Mon Jul 28 11:30:36 PDT 2014 
-->
+<!-- Generated by javadoc (version 1.7.0_25) on Sun Aug 24 10:49:53 PDT 2014 
-->
 <title>Serialized Form</title>
-<meta name="date" content="2014-07-28">
+<meta name="date" content="2014-08-24">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 </head>
 <body>

Modified: mesos/site/source/documentation/latest.html.md
URL: 
http://svn.apache.org/viewvc/mesos/site/source/documentation/latest.html.md?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/documentation/latest.html.md (original)
+++ mesos/site/source/documentation/latest.html.md Sun Aug 24 23:10:33 2014
@@ -6,11 +6,14 @@ layout: documentation
 
 ## Running Mesos
 
-* [Mesos Configuration](/documentation/latest/configuration/) for command-line 
arguments
-* [Tools](/documentation/latest/tools/) for setting up and running a Mesos 
cluster
-* [Logging and Debugging](/documentation/latest/logging-and-debugging/) for 
viewing Mesos and framework logs.
+* [Configuration](/documentation/latest/configuration/) for command-line 
arguments
+* [Docker Containerizer](/documentation/latest/docker-containerizer/) for 
launching a Docker image as a Task, or as an Executor
+* [Framework Rate Limiting](/documentation/latest/framework-rate-limiting/)
 * [High Availability](/documentation/latest/high-availability/) for running 
multiple masters simultaneously.
+* [Logging and Debugging](/documentation/latest/logging-and-debugging/) for 
viewing Mesos and framework logs.
+* [Network Monitoring](/documentation/latest/network-monitoring/)
 * [Slave Recovery](/documentation/latest/slave-recovery/) for doing seamless 
upgrades
+* [Tools](/documentation/latest/tools/) for setting up and running a Mesos 
cluster
 
 ## Running Mesos Frameworks
 
@@ -25,14 +28,14 @@ layout: documentation
 
 ## Contributing to Mesos
 
-* [Mesos Developers Guide](/documentation/latest/mesos-developers-guide/) 
includes resources for developers contributing to Mesos and the process of 
submitting patches for review.
-* [Mesos Code Internals](/documentation/latest/mesos-code-internals/) overview 
of the codebase and internal organization.
+* [Code Internals](/documentation/latest/mesos-code-internals/) overview of 
the codebase and internal organization.
 * [C++ Style Guide](/documentation/latest/mesos-c++-style-guide/)
+* [Developers Guide](/documentation/latest/mesos-developers-guide/) includes 
resources for developers contributing to Mesos and the process of submitting 
patches for review.
+* [Development Road Map](/documentation/latest/mesos-roadmap/)
 * [Release Guide](/documentation/latest/release-guide/)
-* [Mesos Development Road Map](/documentation/latest/mesos-roadmap/)
 
 ## More Info about Mesos
 
 * [Powered by Mesos](/documentation/latest/powered-by-mesos/) lists 
organizations and software that are powered by Apache Mesos.
 * [Video and Slides of Mesos 
Presentations](/documentation/latest/mesos-presentations/)
-* Academic Papers and Project History
+* Academic Papers and Project History
\ No newline at end of file

Modified: mesos/site/source/documentation/latest/allocation-module.md
URL: 
http://svn.apache.org/viewvc/mesos/site/source/documentation/latest/allocation-module.md?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/documentation/latest/allocation-module.md (original)
+++ mesos/site/source/documentation/latest/allocation-module.md Sun Aug 24 
23:10:33 2014
@@ -48,21 +48,15 @@ Mesos is implemented in C++, so allocati
       const FrameworkID& frameworkId,
       const std::vector<Request>& requests) = 0;
 
-  // Whenever resources offered to a framework go unused (e.g.,
-  // refused) the master invokes this callback.
-  virtual void resourcesUnused(
-      const FrameworkID& frameworkId,
-      const SlaveID& slaveId,
-      const Resources& resources,
-      const Option<Filters>& filters) = 0;
-
   // Whenever resources are "recovered" in the cluster (e.g., a task
   // finishes, an offer is removed because a framework has failed or
-  // is failing over) the master invokes this callback.
+  // is failing over), or a framework refuses them, the master
+  // invokes this callback.
   virtual void resourcesRecovered(
       const FrameworkID& frameworkId,
       const SlaveID& slaveId,
-      const Resources& resources) = 0;
+      const Resources& resources,
+      const Option<Filters>& filters) = 0;
 
   // Whenever a framework that has filtered resources wants to revive
   // offers for those resources the master invokes this callback.
@@ -129,4 +123,4 @@ Sorters are implemented in C++ and inher
 
 The default @Sorter@ is the DRFSorter, which implements fair sharing and can 
be found at @MESOS_HOME/src/master/drf_sorter.hpp@.
 
-For DRF, if weights are specified in Sorter::add, a client's share will be 
divided by the weight, creating a form of priority. For example, a role that 
has a weight of 2 will be offered twice as many resources as a role with weight 
1.
\ No newline at end of file
+For DRF, if weights are specified in Sorter::add, a client's share will be 
divided by the weight, creating a form of priority. For example, a role that 
has a weight of 2 will be offered twice as many resources as a role with weight 
1.

Modified: mesos/site/source/documentation/latest/authorization.md
URL: 
http://svn.apache.org/viewvc/mesos/site/source/documentation/latest/authorization.md?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/documentation/latest/authorization.md (original)
+++ mesos/site/source/documentation/latest/authorization.md Sun Aug 24 23:10:33 
2014
@@ -6,11 +6,10 @@ layout: documentation
 
 Mesos 0.20.0 adds support for framework authorization. Authorization allows
 
- 1. Frameworks to only launch tasks/executors as authorized `users`.
- 2. Frameworks to be able to receive offers for authorized `roles`.
- 3. HTTP endpoints exposed by Mesos to be accessible to authorized `clients`.
+ 1. Frameworks to (re-)register with authorized `roles`.
+ 2. Frameworks to launch tasks/executors as authorized `users`.
+ 3. Authorized `principals` to shutdown framework(s) through "/shutdown" HTTP 
endpoint.
 
-> NOTE: While ACLs support for HTTP is present, currently access to the HTTP 
endpoints are not authorized.
 
 ## ACLs
 
@@ -20,40 +19,41 @@ Each ACL specifies a set of `Subjects` t
 
 The currently supported `Actions` are :
 
-1. "run_tasks" : Run tasks/executors
-2. "receive_offers" : Receive offers
-3. "http_get" : HTTP GET access
-4. "http_put" : HTTP_PUT access
+1. "register_frameworks" : Register Frameworks
+2. "run_tasks" : Run tasks/executors
+3. "shutdown_frameworks" : Shutdown frameworks
 
 The currently supported `Subjects` are :
 
-1. "principals" : Framework principals (used by "run_tasks" and 
"receive_offers" actions)
-2. "usernames" : Username used in HTTP Basic/Digest authentication. (used by 
"http_get" and "http_put" actions)
-3. "ips" : IP Addresses of the clients (used by "http_get" and "http_put" 
actions)
-4. "hostnames" : Hostnames of the clients (used by "http_get" and "http_put" 
actions)
+1. "principals"
+       - Framework principals (used by "register_frameworks" and "run_tasks" 
actions)
+       - Usernames (used by "shutdown_frameworks" action)
 
 The currently supported `Objects` are :
 
-1. "users" : Unix user to launch the task/executor as (used by "run_tasks" 
action)
-2. "roles" : Resource roles to receive offers from (used by "receive_offers" 
action)
-3. "urls" : HTTP URL endpoint exposed by the master (used by "http_get" and 
"http_put" actions)
+1. "roles" : Resource roles that framework can register with (used by 
"register_frameworks" action)
+2. "users" : Unix user to launch the task/executor as (used by "run_tasks" 
action)
+3. "framework_principals" : Framework principals that can be shutdown by HTTP 
POST (used by "shutdown_frameworks" action).
 
-> NOTE: Both `Subjects` and `Objects` can take a list of strings or special 
values (`ANY` and `NONE`).
+> NOTE: Both `Subjects` and `Objects` can take a list of strings or special 
values (`ANY` or `NONE`).
 
 
 ## How does it work?
 
-The Mesos master checks the ACLs to verify whether a request is authorized or 
not. For example, when  a framework launches a task, "run_tasks" ACLs are 
checked to see if the framework (`FrameworkInfo.principal`) is authorized to 
run the task/executor as the given user. If not authorized, the launch is 
rejected and the framework gets a TASK_LOST.
+The Mesos master checks the ACLs to verify whether a request is authorized or 
not.
 
-Similarly, when a framework (re-)registers the Mesos master checks whether it 
is authorized to receive offers for given resource role (`FrameworkInfo.role`). 
If not authorized, the framework is not allowed to (re-)register and gets an 
Error message back.
+For example, when a framework (re-)registers with the master, the 
"register_frameworks" ACLs are checked to see if the framework 
(`FrameworkInfo.principal`) is authorized to receive offers for the given 
resource role (`FrameworkInfo.role`). If not authorized, the framework is not 
allowed to (re-)register and gets an `Error` message back (which aborts the 
scheduler driver).
+
+Similarly, when a framework launches a task(s), "run_tasks" ACLs are checked 
to see if the framework (`FrameworkInfo.principal`) is authorized to run the 
task/executor as the given `user`. If not authorized, the launch is rejected 
and the framework gets a TASK_LOST.
+
+In the same vein, when a user/principal attempts to shutdown a framework 
through the "/shutdown" HTTP endpoint on the master, "shutdown_frameworks" ACLs 
are checked to see if the `principal` is authorized to shutdown the given 
framework. If not authorized, the shutdown is rejected and the user receives an 
`Unauthorized` HTTP response.
 
-While not yet implemented, GET/PUT access to HTTP endpoints exposed by the 
Mesos master will be authorized in a similar way.
 
 There are couple of important things to note:
 
 1. ACLs are matched in the order that they are setup. In other words, the 
first matching ACL determines whether a request is authorized or not.
 
-2. If none of the specified ACLs match the given request, whether the request 
is authorized or not is defined by `ACLs.permissive` field. By default this 
"true" i.e., a non-matching request is authorized.
+2. If none of the specified ACLs match the given request, whether the request 
is authorized or not is defined by `ACLs.permissive` field. By default this is 
"true" i.e., a non-matching request is authorized.
 
 
 ## Examples
@@ -66,7 +66,7 @@ There are couple of important things to 
                                "principals": { "values": ["foo", "bar"] },
                                "users": { "values": ["alice"] }
                              }
-                           ],
+                           ]
             }
 
 2. Any framework can run tasks as user `guest`.
@@ -77,7 +77,7 @@ There are couple of important things to 
                                "principals": { "type": "ANY" },
                                "users": { "values": ["guest"] }
                              }
-                           ],
+                           ]
             }
 
 3. No framework can run tasks as `root`.
@@ -88,7 +88,7 @@ There are couple of important things to 
                                "principals": { "type": "NONE" },
                                "users": { "values": ["root"] }
                              }
-                           ],
+                           ]
             }
 
 
@@ -102,52 +102,66 @@ There are couple of important things to 
                              },
                              {
                                "principals": { "values": [ "foo" ] },
-                               "users": { "type": ["NONE"] }
+                               "users": { "type": "NONE" }
                              }
-                           ],
+                           ]
             }
 
 
 
 
-5. Framework `foo` can be offered resources for `analytics` and `ads` roles.
+5. Framework `foo` can register with `analytics` and `ads` roles.
 
             {
-              "receive_offers": [
-                                  {
-                                    "principals": { "values": ["foo"] },
-                                    "roles": { "values": ["analytics", "ads"] }
-                                  }
-                                ],
+              "register_frameworks": [
+                                       {
+                                         "principals": { "values": ["foo"] },
+                                         "roles": { "values": ["analytics", 
"ads"] }
+                                       }
+                                     ]
             }
 
 
-6. Only framework `foo` and no one else can be offered resources for 
`analytics` role.
+6. Only framework `foo` and no one else can register with `analytics` role.
 
             {
-              "receive_offers": [
-                                  {
-                                    "principals": { "values": ["foo"] },
-                                    "roles": { "values": ["analytics"] }
-                                  },
-                                  {
-                                    "principals": { "type": "NONE" },
-                                    "roles": { "values": ["analytics"] }
-                                  }
-                                ],
+              "register_frameworks": [
+                                       {
+                                         "principals": { "values": ["foo"] },
+                                         "roles": { "values": ["analytics"] }
+                                       },
+                                       {
+                                         "principals": { "type": "NONE" },
+                                         "roles": { "values": ["analytics"] }
+                                       }
+                                     ]
             }
 
-7. Framework `foo` can only receive offers for `analytics` role but no other 
roles. Also, no other framework can receive offers for any role.
+7. Framework `foo` can only register with `analytics` role but no other roles. 
Also, no other framework can register with any roles.
 
             {
               "permissive" : "false",
 
-              "receive_offers": [
-                                  {
-                                    "principals": { "values": ["foo"] },
-                                    "roles": { "values": ["analytics"] }
-                                  }
-                                ],
+              "register_frameworks": [
+                                       {
+                                         "principals": { "values": ["foo"] },
+                                         "roles": { "values": ["analytics"] }
+                                       }
+                                     ]
+            }
+
+
+8. Only `ops` principal can shutdown any frameworks through "/shutdown" HTTP 
endpoint.
+
+            {
+              "permissive" : "false",
+
+              "shutdown_frameworks": [
+                                       {
+                                         "principals": { "values": ["ops"] },
+                                         "framework_principals": { "type": 
"ANY" }
+                                       }
+                                     ]
             }
 
 
@@ -161,20 +175,5 @@ As part of this feature, a new flag was 
             or '/path/to/file'.
             See the ACLs protobuf in mesos.proto for the expected format.
 
-            Example:
-            {
-              "run_tasks": [
-                             {
-                               "principals": { "values": ["a", "b"] },
-                               "users": { "values": ["root"] }
-                             }
-                           ],
-              "receive_offers": [
-                                  {
-                                    "principals": { "type": "ANY" },
-                                    "roles": { "values": ["foo"] }
-                                  }
-                                ]
-            }
 
 **For the complete list of master options: ./mesos-master.sh --help**

Added: mesos/site/source/documentation/latest/docker-containerizer.md
URL: 
http://svn.apache.org/viewvc/mesos/site/source/documentation/latest/docker-containerizer.md?rev=1620233&view=auto
==============================================================================
--- mesos/site/source/documentation/latest/docker-containerizer.md (added)
+++ mesos/site/source/documentation/latest/docker-containerizer.md Sun Aug 24 
23:10:33 2014
@@ -0,0 +1,65 @@
+---
+layout: documentation
+---
+
+# Docker Containerizer
+
+Mesos 0.20.0 adds the support for launching tasks that contains Docker images, 
with also a subset of Docker options supported while we plan on adding more in 
the future.
+
+Users can either launch a Docker image as a Task, or as an Executor.
+
+The following sections will describe the API changes along with Docker 
support, and also how to setup Docker.
+
+## Setup
+
+To run the slave to enable the Docker Containerizer, you must launch the slave 
with "docker" as one of the containerizers option.
+
+Example: mesos-slave --containerizers=docker,mesos
+
+Each slave that has the Docker containerizer should have Docker CLI client 
installed (version >= 1.0.0).
+
+## How do I use the Docker Containerizer?
+
+TaskInfo before 0.20.0 used to only support either setting a CommandInfo that 
launches a task running the bash command, or a ExecutorInfo that launches a 
custom Executor
+that will launches the task.
+
+With 0.20.0 we added a ContainerInfo field to TaskInfo and ExecutorInfo that 
allows a Containerizer such as Docker to be configured to run the task or 
executor.
+
+To run a Docker image as a task, in TaskInfo one must set both the command and 
the container field as the Docker Containerizer will use the accompanied 
command to launch the docker image.
+The ContainerInfo should have type Docker and a DockerInfo that has the 
desired docker image.
+
+To run a Docker image as an executor, in TaskInfo one must set the 
ExecutorInfo that contains a ContainerInfo with type docker and the CommandInfo 
that will be used to launch the executor.
+Note that the Docker image is expected to launch up as a Mesos executor that 
will register with the slave once it launches.
+
+## What does the Docker Containerizer do?
+
+The Docker Containerizer is translating Task/Executor Launch and Destroy calls 
to Docker CLI commands.
+
+Currently the Docker Containerizer when launching as task will do the 
following:
+
+1, Fetch all the files specified in the CommandInfo into the sandbox.
+2, Pull the docker image from the remote repository.
+3, Run the docker image with the configured DockerInfo options, and map the 
sandbox directory into the Docker container and set the directory mapping to 
the MESOS_SANDBOX environment variable.
+4. Stream the docker logs into the stdout/stderr files in the sandbox.
+5. Launch the Command Executor to perform a docker wait on the container.
+6. On container exit or containerizer destroy, stop and remove the docker 
container.
+
+When launching the docker image as an Executor, the only difference is that it 
skips launching a command executor but just reaps on the docker container 
executor pid.
+
+Note that we currently default to host networking when running a docker image, 
to easier support running a docker image asn an Executor.
+
+Also since we explicitly attempt to pull the image on launch, if the docker 
image is only installed locally but not avaialble on the remote repository the 
launch will fail as well.
+
+## Private Docker repository
+
+To run a image from a private repository, one can include the uri pointing to 
a .dockercfg that contains login information. The .dockercfg file will be 
pulled into the sandbox the Docker Containerizer
+set the HOME environment variable pointing to the sandbox so docker cli will 
automatically pick up the config file.
+
+## CommandInfo to run Docker images
+
+A docker image currently supports having a entrypoint and/or a default command.
+
+To run a docker image with the default command (ie: docker run image), the 
CommandInfo's value must not be set. If the value is set then it will override 
the default command.
+
+To run a docker image with an entrypoint defined, the CommandInfo's shell 
option must be set to false.
+If shell option is set to true the Docker Containerizer will run the user's 
command wrapped with /bin/sh -c which will also become parameters to the image 
entrypoint.

Added: mesos/site/source/documentation/latest/framework-rate-limiting.md
URL: 
http://svn.apache.org/viewvc/mesos/site/source/documentation/latest/framework-rate-limiting.md?rev=1620233&view=auto
==============================================================================
--- mesos/site/source/documentation/latest/framework-rate-limiting.md (added)
+++ mesos/site/source/documentation/latest/framework-rate-limiting.md Sun Aug 
24 23:10:33 2014
@@ -0,0 +1,73 @@
+---
+layout: documentation
+---
+
+# Framework Rate Limiting
+Framework rate limiting is a feature introduced in Mesos 0.20.0.
+
+## What is Framework Rate Limiting
+In a multi-framework environment, this feature aims to protect the throughput 
of high-SLA (e.g., production, service) frameworks by having the master 
throttle messages from other (e.g., development, batch) frameworks.
+
+To throttle messages from a framework, the Mesos cluster operator sets a `qps` 
(queries per seconds) value for each framework identified by its principal (You 
can also throttle a group of frameworks together but we'll assume individual 
frameworks in this doc unless otherwise stated; see the `RateLimits` [ProtoBuf 
definition](https://github.com/apache/mesos/blob/master/include/mesos/mesos.proto)
 and the configuration notes below). The master then promises not to process 
messages from that framework at a rate above `qps`. The outstanding messages 
are stored in memory on the master.
+
+## Rate Limits Configuration
+The following is a sample config file (in JSON format) which could be 
specified with the `--rate-limits` master flag.
+
+    {
+      "limits": [
+        {
+          "principal": "foo",
+          "qps": 55.5
+          "capacity": 100000
+        },
+        {
+          "principal": "bar",
+          "qps": 300
+        },
+        {
+          "principal": "baz",
+        }
+      ],
+      "aggregate_default_qps": 333,
+      "aggregate_default_capacity": 1000000
+    }
+
+In this example, framework `foo` is throttled at the configured `qps` and 
`capacity`, framework `bar` is given unlimited capacity and framework `baz` is 
not throttled at all. If there is a fourth framework `qux` or a framework 
without a principal connected to the master, it is throttled by the rules 
`aggregate_default_qps` and `aggregate_default_capacity`.
+
+### Configuration Notes
+Below are the fields in the JSON configuration.
+
+- **principal**: (Required) uniquely identifies the entity being throttled or 
given unlimited rate explicitly.
+    - It should match the framework's `FrameworkInfo.principal` (See 
[definition](https://github.com/apache/mesos/blob/master/include/mesos/mesos.proto)).
+    - You can have multiple frameworks use the same principal (e.g., some 
Mesos frameworks launch a new framework instance for each job), in which case 
the combined traffic from all frameworks using the same principal are throttled 
at the specified QPS.
+- **qps**: (Optional) queries per second, i.e., the rate.
+    - Once set, the master guarantees that it does not process messages from 
this principal higher than this rate. However the master could be slower than 
this rate, especially if the specified rate is too high.
+    - To explicitly give a framework unlimited rate (i.e., not throttling it), 
add an entry to `limits` without the qps.
+- **capacity**: (Optional) The number of *outstanding* messages frameworks of 
this principal can put on the master. If not specified, this principal is given 
unlimited capacity. Note that it is possible the queued messages use too much 
memory and cause the master to OOM if the capacity is set too high or not set.
+    - NOTE: If `qps` is not specified, `capacity` is ignored.
+- Use **aggregate_default_qps** and **aggregate_default_capacity** to 
safeguard the master from unspecified frameworks. All the frameworks not 
specified in `limits` get this default rate and capacity.
+    - The rate and capacity are aggregate values for all of them, i.e., their 
combined traffic is throttled together.
+    - Same as above, if `aggregate_default_qps` is not specified, 
`aggregate_default_capacity` is ignored.
+    - If these fields are not present, the unspecified frameworks are not 
throttled.
+      This is an implicit way of giving frameworks unlimited rate compared to 
the explicit way above (using an entry in `limits` with only the principal).
+      We recommend using the explicit option especially when the master does 
not require authentication to prevent unexpected frameworks from overwhelming 
the master.
+
+## Using Framework Rate Limiting
+
+### Monitoring Framework Traffic
+While a framework is registered with the master, the master exposes counters 
for all messages received and processed from that framework at its metrics 
endpoint: `http://<master>/metrics/snapshot`. For instance, framework `foo` has 
two message counters `frameworks/foo/messages_received` and 
`frameworks/foo/messages_processed`. Without framework rate limiting the two 
numbers should differ by little or none (because messages are processed ASAP) 
but when a framework is being throttled the difference indicates the 
outstanding messages as a result of the throttling.
+
+By continuously monitoring the counters, you can derive the rate messages 
arrive and how fast the message queue length for the framework is growing (if 
it is throttled). This should depict the characteristics of the framework in 
terms of network traffic.
+
+## Configuring Rate Limits
+Since the goal for framework rate limiting is to prevent low-SLA frameworks 
from using **too much** resources and not to model their traffic and behavior 
as precisely as possible, you can start by using large `qps` values to throttle 
them. The fact that they are throttled (regardless of the configured `qps`) is 
already effective in giving messages from high-SLA frameworks higher priority 
because they are processed ASAP.
+
+To calculate how much `capacity` the master can handle, you need to know the 
memory limit for the master process, the amount of memory it typically uses to 
serve similar workload without rate limiting (e.g., use `ps -o rss 
$MASTER_PID`) and average sizes of the framework messages (queued messages are 
stored as [serialized Protocol Buffers with a few additional 
fields](https://github.com/apache/mesos/blob/master/3rdparty/libprocess/include/process/message.hpp))
 and you should sum up all capacity values in the config.
+However since this kind of calculation is imprecise, you should start with 
small values that tolerate reasonable temporary framework burstiness but far 
from the memory limit to leave enough headroom for the master and frameworks 
that don't have limited capacity.
+
+## Handling "Capacity Exceeded" Error
+When a framework **exceeds the capacity**, a FrameworkErrorMessage is sent 
back to the framework which will [abort the scheduler driver and invoke the 
error() 
callback](https://github.com/apache/mesos/blob/master/src/sched/sched.cpp). It 
doesn't kill any tasks or the scheduler itself. The framework developer can 
choose to restart or failover the scheduler instance to remedy the consequences 
of dropped messages (unless your framework doesn't assume all messages sent to 
the master are processed).
+
+After version 0.20.0 we are going to iterate on this feature by having the 
master send an early alert when the message queue for this framework **starts 
to build up** ([MESOS-1664](https://issues.apache.org/jira/browse/MESOS-1664), 
consider it a "soft limit"). The scheduler can react by throttling itself (to 
avoid the error message) or ignoring this alert if it's a temporary burst by 
design.
+
+Before the early alerting is implemented we **don't recommend using the rate 
limiting feature to throttle production frameworks** for now unless you are 
sure about the consequences of the error message. Of course it's OK to use it 
to protect production frameworks by throttling other frameworks and it doesn't 
have any effect on the master if it's not explicitly enabled.
\ No newline at end of file

Modified: mesos/site/source/documentation/latest/mesos-c++-style-guide.md
URL: 
http://svn.apache.org/viewvc/mesos/site/source/documentation/latest/mesos-c%2B%2B-style-guide.md?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/documentation/latest/mesos-c++-style-guide.md (original)
+++ mesos/site/source/documentation/latest/mesos-c++-style-guide.md Sun Aug 24 
23:10:33 2014
@@ -30,17 +30,17 @@ The Mesos codebase follows the [Google C
 
 <pre>
 // 1: OK.
-allocator->resourcesUnused(frameworkId, slaveId, resources, filters);
+allocator->resourcesRecovered(frameworkId, slaveId, resources, filters);
 
 // 2: Don't use.
-allocator->resourcesUnused(frameworkId, slaveId,
+allocator->resourcesRecovered(frameworkId, slaveId,
                            resources, filters);
 
 // 3: Don't use in this case due to "jaggedness".
-allocator->resourcesUnused(frameworkId,
-                           slaveId,
-                           resources,
-                           filters);
+allocator->resourcesRecovered(frameworkId,
+                              slaveId,
+                              resources,
+                              filters);
 
 // 3: In this case, 3 is OK.
 foobar(someArgument,
@@ -48,14 +48,14 @@ foobar(someArgument,
        theLastArgument);
 
 // 4: OK.
-allocator->resourcesUnused(
+allocator->resourcesRecovered(
     frameworkId,
     slaveId,
     resources,
     filters);
 
 // 5: OK.
-allocator->resourcesUnused(
+allocator->resourcesRecovered(
     frameworkId, slaveId, resources, filters);
 </pre>
 
@@ -69,4 +69,4 @@ Try&lt;Duration&gt; failoverTimeout =
 ## New Lines
 * 1 blank line at the end of the file.
 * Elements outside classes (classes, structs, global functions, etc.) should 
be spaced apart by 2 blank lines.
-* Elements inside classes (member variables and functions) should not be 
spaced apart by more than 1 blank line.
\ No newline at end of file
+* Elements inside classes (member variables and functions) should not be 
spaced apart by more than 1 blank line.

Added: mesos/site/source/documentation/latest/network-monitoring.md
URL: 
http://svn.apache.org/viewvc/mesos/site/source/documentation/latest/network-monitoring.md?rev=1620233&view=auto
==============================================================================
--- mesos/site/source/documentation/latest/network-monitoring.md (added)
+++ mesos/site/source/documentation/latest/network-monitoring.md Sun Aug 24 
23:10:33 2014
@@ -0,0 +1,117 @@
+---
+layout: documentation
+---
+
+# Network Monitoring
+
+Mesos 0.20.0 adds the support for per container network monitoring. Network 
statistics for each active container can be retrieved through the 
`/monitor/statistics.json` endpoint on the slave.
+
+The current solution is completely transparent to the tasks running on the 
slave. In other words, tasks will not notice any difference as if they were 
running on a slave without network monitoring turned on and were sharing the 
network of the slave.
+
+## How to setup?
+
+To turn on network monitoring on your mesos cluster, you need to follow the 
following procedures.
+
+### Prerequisites
+
+Currently, network monitoring is only supported on Linux. Make sure your 
kernel is at least 3.6. Also, check your kernel to make sure that the following 
upstream patches are merged in (Mesos will automatically check for those kernel 
functionalities and will abort if they are not supported):
+
+* 
[6a662719c9868b3d6c7d26b3a085f0cd3cc15e64](https://github.com/torvalds/linux/commit/6a662719c9868b3d6c7d26b3a085f0cd3cc15e64)
+* 
[0d5edc68739f1c1e0519acbea1d3f0c1882a15d7](https://github.com/torvalds/linux/commit/0d5edc68739f1c1e0519acbea1d3f0c1882a15d7)
+* 
[e374c618b1465f0292047a9f4c244bd71ab5f1f0](https://github.com/torvalds/linux/commit/e374c618b1465f0292047a9f4c244bd71ab5f1f0)
+* 
[25f929fbff0d1bcebf2e92656d33025cd330cbf8](https://github.com/torvalds/linux/commit/25f929fbff0d1bcebf2e92656d33025cd330cbf8)
+
+Make sure the following packages are installed on the slave:
+
+* [libnl3](http://www.infradead.org/~tgr/libnl/) >= 3.2.25
+* 
[iproute](http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2)
 (>= 2.6.39 is advised but not required for debugging purpose)
+
+On the build machine, you need to install the following packages:
+
+* [libnl3-devel](http://www.infradead.org/~tgr/libnl/) >= 3.2.25
+
+### Configure and build
+
+Network monitoring will NOT be built in by default. To build Mesos with 
network monitoring support, you need to add a configure option:
+
+```
+$ ./configure --with-network-isolator
+$ make
+```
+
+### Host ephemeral ports squeeze
+
+With network monitoring being turned on, each container on the slave will have 
a separate network stack (via Linux [network 
namespaces](http://lwn.net/Articles/580893/)). All containers share the same 
public IP of the slave (so that service discovery mechanism does not need to be 
changed). Each container will be assigned a subset of the ports from the host, 
and is only allowed to use those ports to make connections with other hosts.
+
+For non-ephemeral ports (e.g, listening ports), Mesos already exposes that to 
the scheduler (resource: 'ports'). The scheduler is responsible for allocating 
those ports to executors/tasks.
+
+For ephemeral ports, without network monitoring, all executors/tasks running 
on the slave share the same ephemeral port range of the host. The default 
ephemeral port range on most Linux distributions is [32768, 61000]. With 
network monitoring, for each container, we need to reserve a range for ports on 
the host which will be used as the ephemeral port range for the container 
network stack (these ports are directly mapped into the container). We need to 
ensure none of the host processes are using those ports. Because of that, you 
may want to squeeze the host ephemeral port range in order to support more 
containers on each slave. To do that, you can use the following command (need 
root permission). A host reboot is required to ensure there are no connections 
using ports outside the new ephemeral range.
+
+```
+# This sets the host ephemeral port range to [57345, 61000].
+$ echo "57345 61000" > /proc/sys/net/ipv4/ip_local_port_range
+```
+
+### Turn on network monitoring
+
+After the host ephemeral ports squeeze and reboot, you can turn on network 
monitoring by appending `network/port_mapping` to the isolation flag. Notice 
that you need specify the `ephemeral_ports` resource (via --resources flag). It 
tells the slave which ports on the host are reserved for containers. It must 
NOT overlap with the host ephemeral port range. You can also specify how many 
ephemeral ports you want to allocate to each container. It is recommended but 
not required that this number is power of 2 aligned (e.g., 512, 1024). If not, 
there will be some performance impact for classifying packets. The maximum 
number of containers on the slave will be limited by approximately 
|ephemeral_ports|/ephemeral_ports_per_container, subject to alignment etc.
+
+```
+mesos-slave \
+       --checkpoint \
+       --log_dir=/var/log/mesos \
+       --work_dir=/var/lib/mesos \
+       --isolation=cgroups/cpu,cgroups/mem,network/port_mapping \
+       
--resources=cpus:22;mem:62189;ports:[31000-32000];disk:400000;ephemeral_ports:[32768-57344]
 \
+       --ephemeral_ports_per_container=1024
+```
+
+## How to get statistics?
+
+Currently, we report the following network statistics:
+
+* _net_rx_bytes_
+* _net_rx_dropped_
+* _net_rx_errors_
+* _net_rx_packets_
+* _net_tx_bytes_
+* _net_tx_dropped_
+* _net_tx_errors_
+* _net_tx_packets_
+
+For example, these are the statistics you will get by hitting the 
`/monitor/statistics.json` endpoint on a slave with network monitoring turned 
on:
+
+```
+$ curl -s http://localhost:5051/monitor/statistics.json | python2.6
+-mjson.tool
+[
+    {
+        "executor_id": 
"sample_executor_id-ebd8fa62-757d-489e-9e23-678a21d078d6",
+        "executor_name": "sample_executor",
+        "framework_id": "201103282247-0000000019-0000",
+        "source": "sample_executor",
+        "statistics": {
+            "cpus_limit": 0.35,
+            "cpus_nr_periods": 520883,
+            "cpus_nr_throttled": 2163,
+            "cpus_system_time_secs": 154.42,
+            "cpus_throttled_time_secs": 145.96,
+            "cpus_user_time_secs": 258.74,
+            "mem_anon_bytes": 109137920,
+            "mem_file_bytes": 30613504,
+            "mem_limit_bytes": 167772160,
+            "mem_mapped_file_bytes": 8192,
+            "mem_rss_bytes": 140341248,
+            "net_rx_bytes": 2402099,
+            "net_rx_dropped": 0,
+            "net_rx_errors": 0,
+            "net_rx_packets": 33273,
+            "net_tx_bytes": 1507798,
+            "net_tx_dropped": 0,
+            "net_tx_errors": 0,
+            "net_tx_packets": 17726,
+            "timestamp": 1408043826.91626
+        }
+    }
+]
+```

Modified: mesos/site/source/documentation/latest/upgrades.md
URL: 
http://svn.apache.org/viewvc/mesos/site/source/documentation/latest/upgrades.md?rev=1620233&r1=1620232&r2=1620233&view=diff
==============================================================================
--- mesos/site/source/documentation/latest/upgrades.md (original)
+++ mesos/site/source/documentation/latest/upgrades.md Sun Aug 24 23:10:33 2014
@@ -3,14 +3,65 @@ layout: documentation
 ---
 
 # Upgrading Mesos
+
 This document serves as a guide for users who wish to upgrade an existing 
mesos cluster. Some versions require particular upgrade techniques when 
upgrading a running cluster. Some upgrades will have incompatible changes.
 
+## Upgrading from 0.19.x to 0.20.x.
+
+**NOTE**: The Mesos API has been changed slightly in this release. The 
CommandInfo has been changed (see below), which makes launching a command more 
flexible. The 'value' field has been changed from _required_ to _optional_. 
However, it will not cause any issue during the upgrade (since the existing 
schedulers always set this field).
+
+```
+message CommandInfo {
+  ...
+  // There are two ways to specify the command:
+  // 1) If 'shell == true', the command will be launched via shell
+  //    (i.e., /bin/sh -c 'value'). The 'value' specified will be
+  //    treated as the shell command. The 'arguments' will be ignored.
+  // 2) If 'shell == false', the command will be launched by passing
+  //    arguments to an executable. The 'value' specified will be
+  //    treated as the filename of the executable. The 'arguments'
+  //    will be treated as the arguments to the executable. This is
+  //    similar to how POSIX exec families launch processes (i.e.,
+  //    execlp(value, arguments(0), arguments(1), ...)).
+  optional bool shell = 6 [default = true];
+  optional string value = 3;
+  repeated string arguments = 7;
+  ...
+}
+```
+
+**NOTE**: The Python bindings are also changing in this release. There are now 
sub-modules which allow you to use either the interfaces and/or the native 
driver.
+
+* `import mesos.native` for the native drivers
+* `import mesos.interface` for the stub implementations and protobufs
+
+To ensure a smooth upgrade, we recommend to upgrade your python framework and 
executor first. You will be able to either import using the new configuration 
or the old. Replace the existing imports with something like the following:
+
+```
+    try:
+        from mesos.native import MesosExecutorDriver, MesosSchedulerDriver
+        from mesos.interface import Executor, Scheduler
+        from mesos.interface import mesos_pb2
+    except ImportError:
+        from mesos import Executor, MesosExecutorDriver, MesosSchedulerDriver, 
Scheduler
+        import mesos_pb2
+```
+
+**NOTE**: If you're using a pure language binding, please ensure that it sends 
status update acknowledgements through the master before upgrading.
+
+In order to upgrade a running cluster:
+
+* Install the new master binaries and restart the masters.
+* Install the new slave binaries and restart the slaves.
+* Upgrade the schedulers by linking the latest native library (install the 
latest mesos jar and python egg if necessary).
+* Restart the schedulers.
+* Upgrade the executors by linking the latest native library (install the 
latest mesos jar and python egg if necessary).
 
 ## Upgrading from 0.18.x to 0.19.x.
 
-NOTE: There are new required flags on the master (`--work_dir` and `--quorum`) 
to support the *Registrar* feature, which adds replicated state on the masters.
+**NOTE**: There are new required flags on the master (`--work_dir` and 
`--quorum`) to support the *Registrar* feature, which adds replicated state on 
the masters.
 
-NOTE: No required upgrade ordering across components.
+**NOTE**: No required upgrade ordering across components.
 
 In order to upgrade a running cluster:
 
@@ -25,7 +76,7 @@ In order to upgrade a running cluster:
 
 In order to upgrade a running cluster:
 
-Note: This upgrade requires a system reboot for slaves that use Linux cgroups 
for isolation.
+**NOTE**: This upgrade requires a system reboot for slaves that use Linux 
cgroups for isolation.
 
 * Install the new master binaries and restart the masters.
 * Upgrade the schedulers by linking the latest native library and mesos jar 
(if necessary).


Reply via email to