You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by xi...@apache.org on 2018/01/04 00:31:43 UTC

svn commit: r1820026 [6/24] - in /samza/site: ./ img/latest/learn/documentation/hadoop/ img/latest/learn/documentation/rest/ learn/documentation/latest/ learn/documentation/latest/api/ learn/documentation/latest/api/javadocs/ learn/documentation/latest...

Modified: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/OutputStream.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/OutputStream.html?rev=1820026&r1=1820025&r2=1820026&view=diff
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/OutputStream.html (original)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/OutputStream.html Thu Jan  4 00:31:39 2018
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_60) on Mon Jun 12 14:24:21 PDT 2017 -->
-<title>OutputStream (samza-api 0.13.1-SNAPSHOT API)</title>
-<meta name="date" content="2017-06-12">
+<!-- Generated by javadoc (1.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>OutputStream (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OutputStream (samza-api 0.13.1-SNAPSHOT API)";
+            parent.document.title="OutputStream (samza-api 0.14.1-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -86,7 +86,7 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.samza.operators</div>
-<h2 title="Interface OutputStream" class="title">Interface OutputStream&lt;K,V,M&gt;</h2>
+<h2 title="Interface OutputStream" class="title">Interface OutputStream&lt;M&gt;</h2>
 </div>
 <div class="contentContainer">
 <div class="description">
@@ -94,14 +94,12 @@
 <li class="blockList">
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>K</code> - the type of key in the outgoing message</dd>
-<dd><code>V</code> - the type of message in the outgoing message</dd>
-<dd><code>M</code> - the type of message in this <a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators"><code>OutputStream</code></a></dd>
+<dd><code>M</code> - the type of message being sent to this <a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators"><code>OutputStream</code></a></dd>
 </dl>
 <hr>
 <br>
 <pre><a href="../../../../org/apache/samza/annotation/InterfaceStability.Unstable.html" title="annotation in org.apache.samza.annotation">@InterfaceStability.Unstable</a>
-public interface <span class="typeNameLabel">OutputStream&lt;K,V,M&gt;</span></pre>
+public interface <span class="typeNameLabel">OutputStream&lt;M&gt;</span></pre>
 <div class="block">An output stream to send messages to.</div>
 </li>
 </ul>

Modified: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/StreamGraph.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/StreamGraph.html?rev=1820026&r1=1820025&r2=1820026&view=diff
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/StreamGraph.html (original)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/StreamGraph.html Thu Jan  4 00:31:39 2018
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_60) on Mon Jun 12 14:24:21 PDT 2017 -->
-<title>StreamGraph (samza-api 0.13.1-SNAPSHOT API)</title>
-<meta name="date" content="2017-06-12">
+<!-- Generated by javadoc (1.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>StreamGraph (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamGraph (samza-api 0.13.1-SNAPSHOT API)";
+            parent.document.title="StreamGraph (samza-api 0.14.1-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="interface in org.apache.samza.operators"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/samza/operators/StreamGraph.html" target="_top">Frames</a></li>
@@ -102,7 +102,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre><a href="../../../../org/apache/samza/annotation/InterfaceStability.Unstable.html" title="annotation in org.apache.samza.annotation">@InterfaceStability.Unstable</a>
 public interface <span class="typeNameLabel">StreamGraph</span></pre>
-<div class="block">Provides access to <a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators"><code>MessageStream</code></a>s and <a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators"><code>OutputStream</code></a>s used to describe the processing logic.</div>
+<div class="block">Provides access to <a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators"><code>MessageStream</code></a>s and <a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators"><code>OutputStream</code></a>s used to describe application logic.</div>
 </li>
 </ul>
 </div>
@@ -122,21 +122,46 @@ public interface <span class="typeNameLa
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>&lt;K,V,M&gt;&nbsp;<a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators">MessageStream</a>&lt;M&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/samza/operators/StreamGraph.html#getInputStream-java.lang.String-java.util.function.BiFunction-">getInputStream</a></span>(java.lang.String&nbsp;streamId,
-              java.util.function.BiFunction&lt;? super K,? super V,? extends M&gt;&nbsp;msgBuilder)</code>
-<div class="block">Gets the input <a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators"><code>MessageStream</code></a> corresponding to the <code>streamId</code>.</div>
+<td class="colFirst"><code>&lt;M&gt;&nbsp;<a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators">MessageStream</a>&lt;M&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/samza/operators/StreamGraph.html#getInputStream-java.lang.String-">getInputStream</a></span>(java.lang.String&nbsp;streamId)</code>
+<div class="block">Same as <a href="../../../../org/apache/samza/operators/StreamGraph.html#getInputStream-java.lang.String-org.apache.samza.serializers.Serde-"><code>getInputStream(String, Serde)</code></a>, but uses the default <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers"><code>Serde</code></a> provided via
+ <a href="../../../../org/apache/samza/operators/StreamGraph.html#setDefaultSerde-org.apache.samza.serializers.Serde-"><code>setDefaultSerde(Serde)</code></a> for deserializing input messages.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>&lt;K,V,M&gt;&nbsp;<a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators">OutputStream</a>&lt;K,V,M&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/samza/operators/StreamGraph.html#getOutputStream-java.lang.String-java.util.function.Function-java.util.function.Function-">getOutputStream</a></span>(java.lang.String&nbsp;streamId,
-               java.util.function.Function&lt;? super M,? extends K&gt;&nbsp;keyExtractor,
-               java.util.function.Function&lt;? super M,? extends V&gt;&nbsp;msgExtractor)</code>
-<div class="block">Gets the <a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators"><code>OutputStream</code></a> corresponding to the <code>streamId</code>.</div>
+<td class="colFirst"><code>&lt;M&gt;&nbsp;<a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators">MessageStream</a>&lt;M&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/samza/operators/StreamGraph.html#getInputStream-java.lang.String-org.apache.samza.serializers.Serde-">getInputStream</a></span>(java.lang.String&nbsp;streamId,
+              <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers">Serde</a>&lt;M&gt;&nbsp;serde)</code>
+<div class="block">Gets the input <a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators"><code>MessageStream</code></a> corresponding to the <code>streamId</code>.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;M&gt;&nbsp;<a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators">OutputStream</a>&lt;M&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/samza/operators/StreamGraph.html#getOutputStream-java.lang.String-">getOutputStream</a></span>(java.lang.String&nbsp;streamId)</code>
+<div class="block">Same as <a href="../../../../org/apache/samza/operators/StreamGraph.html#getOutputStream-java.lang.String-org.apache.samza.serializers.Serde-"><code>getOutputStream(String, Serde)</code></a>, but uses the default <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers"><code>Serde</code></a> provided via
+ <a href="../../../../org/apache/samza/operators/StreamGraph.html#setDefaultSerde-org.apache.samza.serializers.Serde-"><code>setDefaultSerde(Serde)</code></a> for serializing output messages.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>&lt;M&gt;&nbsp;<a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators">OutputStream</a>&lt;M&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/samza/operators/StreamGraph.html#getOutputStream-java.lang.String-org.apache.samza.serializers.Serde-">getOutputStream</a></span>(java.lang.String&nbsp;streamId,
+               <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers">Serde</a>&lt;M&gt;&nbsp;serde)</code>
+<div class="block">Gets the <a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators"><code>OutputStream</code></a> corresponding to the <code>streamId</code>.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/samza/table/Table.html" title="interface in org.apache.samza.table">Table</a>&lt;<a href="../../../../org/apache/samza/operators/KV.html" title="class in org.apache.samza.operators">KV</a>&lt;K,V&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/samza/operators/StreamGraph.html#getTable-org.apache.samza.operators.TableDescriptor-">getTable</a></span>(<a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="interface in org.apache.samza.operators">TableDescriptor</a>&lt;K,V,?&gt;&nbsp;tableDesc)</code>
+<div class="block">Gets the <a href="../../../../org/apache/samza/table/Table.html" title="interface in org.apache.samza.table"><code>Table</code></a> corresponding to the <a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="interface in org.apache.samza.operators"><code>TableDescriptor</code></a>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/samza/operators/StreamGraph.html#setDefaultSerde-org.apache.samza.serializers.Serde-">setDefaultSerde</a></span>(<a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers">Serde</a>&lt;?&gt;&nbsp;serde)</code>
+<div class="block">Sets the default <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers"><code>Serde</code></a> to use for (de)serializing messages.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/samza/operators/StreamGraph.html" title="interface in org.apache.samza.operators">StreamGraph</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/samza/operators/StreamGraph.html#withContextManager-org.apache.samza.operators.ContextManager-">withContextManager</a></span>(<a href="../../../../org/apache/samza/operators/ContextManager.html" title="interface in org.apache.samza.operators">ContextManager</a>&nbsp;contextManager)</code>
 <div class="block">Sets the <a href="../../../../org/apache/samza/operators/ContextManager.html" title="interface in org.apache.samza.operators"><code>ContextManager</code></a> for this <a href="../../../../org/apache/samza/operators/StreamGraph.html" title="interface in org.apache.samza.operators"><code>StreamGraph</code></a>.</div>
@@ -157,26 +182,79 @@ public interface <span class="typeNameLa
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getInputStream-java.lang.String-java.util.function.BiFunction-">
+<a name="setDefaultSerde-org.apache.samza.serializers.Serde-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setDefaultSerde</h4>
+<pre>void&nbsp;setDefaultSerde(<a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers">Serde</a>&lt;?&gt;&nbsp;serde)</pre>
+<div class="block">Sets the default <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers"><code>Serde</code></a> to use for (de)serializing messages.
+ <p>.
+ If the default serde is set, it must be set <b>before</b> creating any input or output streams.
+ <p>
+ If no explicit or default serdes are provided, a <code>KVSerde&lt;NoOpSerde, NoOpSerde&gt;</code> is used. This means that
+ any streams created without explicit or default serdes should be cast to <code>MessageStream&lt;KV&lt;Object, Object&gt;&gt;</code>.
+ <p>
+ Providing an incompatible message type for the input/output streams that use the default serde will result in
+ <code>ClassCastException</code>s at runtime.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serde</code> - the default message <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers"><code>Serde</code></a> to use</dd>
+</dl>
+</li>
+</ul>
+<a name="getInputStream-java.lang.String-org.apache.samza.serializers.Serde-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getInputStream</h4>
-<pre>&lt;K,V,M&gt;&nbsp;<a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators">MessageStream</a>&lt;M&gt;&nbsp;getInputStream(java.lang.String&nbsp;streamId,
-                                        java.util.function.BiFunction&lt;? super K,? super V,? extends M&gt;&nbsp;msgBuilder)</pre>
+<pre>&lt;M&gt;&nbsp;<a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators">MessageStream</a>&lt;M&gt;&nbsp;getInputStream(java.lang.String&nbsp;streamId,
+                                    <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers">Serde</a>&lt;M&gt;&nbsp;serde)</pre>
 <div class="block">Gets the input <a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators"><code>MessageStream</code></a> corresponding to the <code>streamId</code>.
  <p>
+ An input <code>MessageStream&lt;KV&lt;K, V&gt;</code>, which can be obtained by calling this method with a <code>KVSerde&lt;K, V&gt;</code>,
+ can receive messages of type <code>KV&lt;K, V&gt;</code>. An input <code>MessageStream&lt;M&gt;</code> with any other <code>Serde&lt;M&gt;</code>
+ can receive messages of type M - the key in the incoming message is ignored.
+ <p>
+ A <code>KVSerde&lt;NoOpSerde, NoOpSerde&gt;</code> or <code>NoOpSerde</code> may be used if the <code>SystemConsumer</code>
+ deserializes the incoming messages itself, and no further deserialization is required from the framework.
+ <p>
+ Multiple invocations of this method with the same <code>streamId</code> will throw an <code>IllegalStateException</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>M</code> - the type of messages in the input <a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators"><code>MessageStream</code></a></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>streamId</code> - the unique ID for the stream</dd>
+<dd><code>serde</code> - the <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers"><code>Serde</code></a> to use for deserializing incoming messages</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the input <a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators"><code>MessageStream</code></a></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.IllegalStateException</code> - when invoked multiple times with the same <code>streamId</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInputStream-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputStream</h4>
+<pre>&lt;M&gt;&nbsp;<a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators">MessageStream</a>&lt;M&gt;&nbsp;getInputStream(java.lang.String&nbsp;streamId)</pre>
+<div class="block">Same as <a href="../../../../org/apache/samza/operators/StreamGraph.html#getInputStream-java.lang.String-org.apache.samza.serializers.Serde-"><code>getInputStream(String, Serde)</code></a>, but uses the default <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers"><code>Serde</code></a> provided via
+ <a href="../../../../org/apache/samza/operators/StreamGraph.html#setDefaultSerde-org.apache.samza.serializers.Serde-"><code>setDefaultSerde(Serde)</code></a> for deserializing input messages.
+ <p>
+ If no default serde has been provided <b>before</b> calling this method, a <code>KVSerde&lt;NoOpSerde, NoOpSerde&gt;</code>
+ is used. Providing a message type <code>M</code> that is incompatible with the default Serde will result in
+ <code>ClassCastException</code>s at runtime.
+ <p>
  Multiple invocations of this method with the same <code>streamId</code> will throw an <code>IllegalStateException</code>.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>K</code> - the type of key in the incoming message</dd>
-<dd><code>V</code> - the type of message in the incoming message</dd>
 <dd><code>M</code> - the type of message in the input <a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators"><code>MessageStream</code></a></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>streamId</code> - the unique ID for the stream</dd>
-<dd><code>msgBuilder</code> - the <code>BiFunction</code> to convert the incoming key and message to a message
-                   in the input <a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators"><code>MessageStream</code></a></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the input <a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators"><code>MessageStream</code></a></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -184,27 +262,33 @@ public interface <span class="typeNameLa
 </dl>
 </li>
 </ul>
-<a name="getOutputStream-java.lang.String-java.util.function.Function-java.util.function.Function-">
+<a name="getOutputStream-java.lang.String-org.apache.samza.serializers.Serde-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getOutputStream</h4>
-<pre>&lt;K,V,M&gt;&nbsp;<a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators">OutputStream</a>&lt;K,V,M&gt;&nbsp;getOutputStream(java.lang.String&nbsp;streamId,
-                                            java.util.function.Function&lt;? super M,? extends K&gt;&nbsp;keyExtractor,
-                                            java.util.function.Function&lt;? super M,? extends V&gt;&nbsp;msgExtractor)</pre>
+<pre>&lt;M&gt;&nbsp;<a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators">OutputStream</a>&lt;M&gt;&nbsp;getOutputStream(java.lang.String&nbsp;streamId,
+                                    <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers">Serde</a>&lt;M&gt;&nbsp;serde)</pre>
 <div class="block">Gets the <a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators"><code>OutputStream</code></a> corresponding to the <code>streamId</code>.
  <p>
+ An <code>OutputStream&lt;KV&lt;K, V&gt;&gt;</code>, which can be obtained by calling this method with a <code>KVSerde&lt;K, V&gt;</code>,
+ can send messages of type <code>KV&lt;K, V&gt;</code>. An <code>OutputStream&lt;M&gt;</code> with any other <code>Serde&lt;M&gt;</code> can
+ send messages of type M without a key.
+ <p>
+ A <code>KVSerde&lt;NoOpSerde, NoOpSerde&gt;</code> or <code>NoOpSerde</code> may be used if the <code>SystemProducer</code>
+ serializes the outgoing messages itself, and no prior serialization is required from the framework.
+ <p>
+ When sending messages to an <code>OutputStream&lt;KV&lt;K, V&gt;&gt;</code>, messages are partitioned using their serialized key.
+ When sending messages to any other <code>OutputStream&lt;M&gt;</code>, messages are partitioned using a null partition key.
+ <p>
  Multiple invocations of this method with the same <code>streamId</code> will throw an <code>IllegalStateException</code>.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>K</code> - the type of key in the outgoing message</dd>
-<dd><code>V</code> - the type of message in the outgoing message</dd>
-<dd><code>M</code> - the type of message in the <a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators"><code>OutputStream</code></a></dd>
+<dd><code>M</code> - the type of messages in the <a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators"><code>OutputStream</code></a></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>streamId</code> - the unique ID for the stream</dd>
-<dd><code>keyExtractor</code> - the <code>Function</code> to extract the outgoing key from the output message</dd>
-<dd><code>msgExtractor</code> - the <code>Function</code> to extract the outgoing message from the output message</dd>
+<dd><code>serde</code> - the <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers"><code>Serde</code></a> to use for serializing outgoing messages</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the output <a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators"><code>MessageStream</code></a></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -212,6 +296,57 @@ public interface <span class="typeNameLa
 </dl>
 </li>
 </ul>
+<a name="getOutputStream-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputStream</h4>
+<pre>&lt;M&gt;&nbsp;<a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators">OutputStream</a>&lt;M&gt;&nbsp;getOutputStream(java.lang.String&nbsp;streamId)</pre>
+<div class="block">Same as <a href="../../../../org/apache/samza/operators/StreamGraph.html#getOutputStream-java.lang.String-org.apache.samza.serializers.Serde-"><code>getOutputStream(String, Serde)</code></a>, but uses the default <a href="../../../../org/apache/samza/serializers/Serde.html" title="interface in org.apache.samza.serializers"><code>Serde</code></a> provided via
+ <a href="../../../../org/apache/samza/operators/StreamGraph.html#setDefaultSerde-org.apache.samza.serializers.Serde-"><code>setDefaultSerde(Serde)</code></a> for serializing output messages.
+ <p>
+ If no default serde has been provided <b>before</b> calling this method, a <code>KVSerde&lt;NoOpSerde, NoOpSerde&gt;</code>
+ is used. Providing a message type <code>M</code> that is incompatible with the default Serde will result in
+ <code>ClassCastException</code>s at runtime.
+ <p>
+ Multiple invocations of this method with the same <code>streamId</code> will throw an <code>IllegalStateException</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>M</code> - the type of messages in the <a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators"><code>OutputStream</code></a></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>streamId</code> - the unique ID for the stream</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the output <a href="../../../../org/apache/samza/operators/MessageStream.html" title="interface in org.apache.samza.operators"><code>MessageStream</code></a></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.IllegalStateException</code> - when invoked multiple times with the same <code>streamId</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getTable-org.apache.samza.operators.TableDescriptor-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTable</h4>
+<pre>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/samza/table/Table.html" title="interface in org.apache.samza.table">Table</a>&lt;<a href="../../../../org/apache/samza/operators/KV.html" title="class in org.apache.samza.operators">KV</a>&lt;K,V&gt;&gt;&nbsp;getTable(<a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="interface in org.apache.samza.operators">TableDescriptor</a>&lt;K,V,?&gt;&nbsp;tableDesc)</pre>
+<div class="block">Gets the <a href="../../../../org/apache/samza/table/Table.html" title="interface in org.apache.samza.table"><code>Table</code></a> corresponding to the <a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="interface in org.apache.samza.operators"><code>TableDescriptor</code></a>.
+ <p>
+ Multiple invocations of this method with the same <a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="interface in org.apache.samza.operators"><code>TableDescriptor</code></a> will throw an
+ <code>IllegalStateException</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - the type of the key</dd>
+<dd><code>V</code> - the type of the value</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tableDesc</code> - the <a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="interface in org.apache.samza.operators"><code>TableDescriptor</code></a></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the <a href="../../../../org/apache/samza/table/Table.html" title="interface in org.apache.samza.table"><code>Table</code></a> corresponding to the <code>tableDesc</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.IllegalStateException</code> - when invoked multiple times with the same <a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="interface in org.apache.samza.operators"><code>TableDescriptor</code></a></dd>
+</dl>
+</li>
+</ul>
 <a name="withContextManager-org.apache.samza.operators.ContextManager-">
 <!--   -->
 </a>
@@ -259,7 +394,7 @@ public interface <span class="typeNameLa
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/samza/operators/OutputStream.html" title="interface in org.apache.samza.operators"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="interface in org.apache.samza.operators"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/samza/operators/StreamGraph.html" target="_top">Frames</a></li>

Added: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/TableDescriptor.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/TableDescriptor.html?rev=1820026&view=auto
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/TableDescriptor.html (added)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/TableDescriptor.html Thu Jan  4 00:31:39 2018
@@ -0,0 +1,300 @@
+<!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.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>TableDescriptor (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TableDescriptor (samza-api 0.14.1-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="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/samza/operators/StreamGraph.html" title="interface in org.apache.samza.operators"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/samza/operators/TableDescriptor.html" target="_top">Frames</a></li>
+<li><a href="TableDescriptor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;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.samza.operators</div>
+<h2 title="Interface TableDescriptor" class="title">Interface TableDescriptor&lt;K,V,D extends TableDescriptor&lt;K,V,D&gt;&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - the type of the key in this table</dd>
+<dd><code>V</code> - the type of the value in this table</dd>
+<dd><code>D</code> - the type of the concrete table descriptor</dd>
+</dl>
+<hr>
+<br>
+<pre><a href="../../../../org/apache/samza/annotation/InterfaceStability.Unstable.html" title="annotation in org.apache.samza.annotation">@InterfaceStability.Unstable</a>
+public interface <span class="typeNameLabel">TableDescriptor&lt;K,V,D extends TableDescriptor&lt;K,V,D&gt;&gt;</span></pre>
+<div class="block">User facing class to collect metadata that fully describes a
+ Samza table. This interface should be implemented by concrete table implementations.
+ <p>
+ Typical user code should look like the following, notice <code>withConfig()</code>
+ is defined in this class and the rest in subclasses.
+
+ <pre>
+ <code>
+ TableDescriptor&lt;Integer, String, ?&gt; tableDesc = new RocksDbTableDescriptor("tbl")
+     .withSerde(KVSerde.of(new IntegerSerde(), new StringSerde("UTF-8")))
+     .withBlockSize(1024)
+     .withConfig("some-key", "some-value");
+ </code>
+ </pre>
+
+ Once constructed, a table descriptor can be registered with the system. Internally,
+ the table descriptor is then converted to a <a href="../../../../org/apache/samza/table/TableSpec.html" title="class in org.apache.samza.table"><code>TableSpec</code></a>,
+ which is used to track tables internally.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/samza/operators/TableDescriptor.html#getTableId--">getTableId</a></span>()</code>
+<div class="block">Get the Id of the table</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="type parameter in TableDescriptor">D</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/samza/operators/TableDescriptor.html#withConfig-java.lang.String-java.lang.String-">withConfig</a></span>(java.lang.String&nbsp;key,
+          java.lang.String&nbsp;value)</code>
+<div class="block">Add a configuration entry for the table</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="type parameter in TableDescriptor">D</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/samza/operators/TableDescriptor.html#withSerde-org.apache.samza.serializers.KVSerde-">withSerde</a></span>(<a href="../../../../org/apache/samza/serializers/KVSerde.html" title="class in org.apache.samza.serializers">KVSerde</a>&lt;<a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="type parameter in TableDescriptor">K</a>,<a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="type parameter in TableDescriptor">V</a>&gt;&nbsp;serde)</code>
+<div class="block">Set the Serde for this table</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="getTableId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableId</h4>
+<pre>java.lang.String&nbsp;getTableId()</pre>
+<div class="block">Get the Id of the table</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Id of the table</dd>
+</dl>
+</li>
+</ul>
+<a name="withSerde-org.apache.samza.serializers.KVSerde-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>withSerde</h4>
+<pre><a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="type parameter in TableDescriptor">D</a>&nbsp;withSerde(<a href="../../../../org/apache/samza/serializers/KVSerde.html" title="class in org.apache.samza.serializers">KVSerde</a>&lt;<a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="type parameter in TableDescriptor">K</a>,<a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="type parameter in TableDescriptor">V</a>&gt;&nbsp;serde)</pre>
+<div class="block">Set the Serde for this table</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serde</code> - the serde</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this table descriptor instance</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.IllegalArgumentException</code> - if null is provided</dd>
+</dl>
+</li>
+</ul>
+<a name="withConfig-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>withConfig</h4>
+<pre><a href="../../../../org/apache/samza/operators/TableDescriptor.html" title="type parameter in TableDescriptor">D</a>&nbsp;withConfig(java.lang.String&nbsp;key,
+             java.lang.String&nbsp;value)</pre>
+<div class="block">Add a configuration entry for the table</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>key</code> - the key</dd>
+<dd><code>value</code> - the value</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this table descriptor instance</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="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/samza/operators/StreamGraph.html" title="interface in org.apache.samza.operators"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/samza/operators/TableDescriptor.html" target="_top">Frames</a></li>
+<li><a href="TableDescriptor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;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>

Modified: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/ClosableFunction.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/ClosableFunction.html?rev=1820026&r1=1820025&r2=1820026&view=diff
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/ClosableFunction.html (original)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/ClosableFunction.html Thu Jan  4 00:31:39 2018
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_60) on Mon Jun 12 14:24:21 PDT 2017 -->
-<title>ClosableFunction (samza-api 0.13.1-SNAPSHOT API)</title>
-<meta name="date" content="2017-06-12">
+<!-- Generated by javadoc (1.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>ClosableFunction (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClosableFunction (samza-api 0.13.1-SNAPSHOT API)";
+            parent.document.title="ClosableFunction (samza-api 0.14.1-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -100,7 +100,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Known Subinterfaces:</dt>
-<dd><a href="../../../../../org/apache/samza/operators/functions/FilterFunction.html" title="interface in org.apache.samza.operators.functions">FilterFunction</a>&lt;M&gt;, <a href="../../../../../org/apache/samza/operators/functions/FlatMapFunction.html" title="interface in org.apache.samza.operators.functions">FlatMapFunction</a>&lt;M,OM&gt;, <a href="../../../../../org/apache/samza/operators/functions/FoldLeftFunction.html" title="interface in org.apache.samza.operators.functions">FoldLeftFunction</a>&lt;M,WV&gt;, <a href="../../../../../org/apache/samza/operators/functions/JoinFunction.html" title="interface in org.apache.samza.operators.functions">JoinFunction</a>&lt;K,M,JM,RM&gt;, <a href="../../../../../org/apache/samza/operators/functions/MapFunction.html" title="interface in org.apache.samza.operators.functions">MapFunction</a>&lt;M,OM&gt;, <a href="../../../../../org/apache/samza/operators/functions/SinkFunction.html" title="interface in org.apache.samza.operators.function
 s">SinkFunction</a>&lt;M&gt;</dd>
+<dd><a href="../../../../../org/apache/samza/operators/functions/FilterFunction.html" title="interface in org.apache.samza.operators.functions">FilterFunction</a>&lt;M&gt;, <a href="../../../../../org/apache/samza/operators/functions/FlatMapFunction.html" title="interface in org.apache.samza.operators.functions">FlatMapFunction</a>&lt;M,OM&gt;, <a href="../../../../../org/apache/samza/operators/functions/FoldLeftFunction.html" title="interface in org.apache.samza.operators.functions">FoldLeftFunction</a>&lt;M,WV&gt;, <a href="../../../../../org/apache/samza/operators/functions/JoinFunction.html" title="interface in org.apache.samza.operators.functions">JoinFunction</a>&lt;K,M,JM,RM&gt;, <a href="../../../../../org/apache/samza/operators/functions/MapFunction.html" title="interface in org.apache.samza.operators.functions">MapFunction</a>&lt;M,OM&gt;, <a href="../../../../../org/apache/samza/operators/functions/SinkFunction.html" title="interface in org.apache.samza.operators.function
 s">SinkFunction</a>&lt;M&gt;, <a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="interface in org.apache.samza.operators.functions">StreamTableJoinFunction</a>&lt;K,M,R,JM&gt;</dd>
 </dl>
 <hr>
 <br>

Modified: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FilterFunction.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FilterFunction.html?rev=1820026&r1=1820025&r2=1820026&view=diff
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FilterFunction.html (original)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FilterFunction.html Thu Jan  4 00:31:39 2018
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_60) on Mon Jun 12 14:24:21 PDT 2017 -->
-<title>FilterFunction (samza-api 0.13.1-SNAPSHOT API)</title>
-<meta name="date" content="2017-06-12">
+<!-- Generated by javadoc (1.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>FilterFunction (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FilterFunction (samza-api 0.13.1-SNAPSHOT API)";
+            parent.document.title="FilterFunction (samza-api 0.14.1-SNAPSHOT API)";
         }
     }
     catch(err) {

Modified: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FlatMapFunction.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FlatMapFunction.html?rev=1820026&r1=1820025&r2=1820026&view=diff
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FlatMapFunction.html (original)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FlatMapFunction.html Thu Jan  4 00:31:39 2018
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_60) on Mon Jun 12 14:24:21 PDT 2017 -->
-<title>FlatMapFunction (samza-api 0.13.1-SNAPSHOT API)</title>
-<meta name="date" content="2017-06-12">
+<!-- Generated by javadoc (1.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>FlatMapFunction (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FlatMapFunction (samza-api 0.13.1-SNAPSHOT API)";
+            parent.document.title="FlatMapFunction (samza-api 0.14.1-SNAPSHOT API)";
         }
     }
     catch(err) {

Modified: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FoldLeftFunction.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FoldLeftFunction.html?rev=1820026&r1=1820025&r2=1820026&view=diff
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FoldLeftFunction.html (original)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FoldLeftFunction.html Thu Jan  4 00:31:39 2018
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_60) on Mon Jun 12 14:24:21 PDT 2017 -->
-<title>FoldLeftFunction (samza-api 0.13.1-SNAPSHOT API)</title>
-<meta name="date" content="2017-06-12">
+<!-- Generated by javadoc (1.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>FoldLeftFunction (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FoldLeftFunction (samza-api 0.13.1-SNAPSHOT API)";
+            parent.document.title="FoldLeftFunction (samza-api 0.14.1-SNAPSHOT API)";
         }
     }
     catch(err) {

Modified: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/InitableFunction.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/InitableFunction.html?rev=1820026&r1=1820025&r2=1820026&view=diff
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/InitableFunction.html (original)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/InitableFunction.html Thu Jan  4 00:31:39 2018
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_60) on Mon Jun 12 14:24:21 PDT 2017 -->
-<title>InitableFunction (samza-api 0.13.1-SNAPSHOT API)</title>
-<meta name="date" content="2017-06-12">
+<!-- Generated by javadoc (1.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>InitableFunction (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InitableFunction (samza-api 0.13.1-SNAPSHOT API)";
+            parent.document.title="InitableFunction (samza-api 0.14.1-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -100,7 +100,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Known Subinterfaces:</dt>
-<dd><a href="../../../../../org/apache/samza/operators/functions/FilterFunction.html" title="interface in org.apache.samza.operators.functions">FilterFunction</a>&lt;M&gt;, <a href="../../../../../org/apache/samza/operators/functions/FlatMapFunction.html" title="interface in org.apache.samza.operators.functions">FlatMapFunction</a>&lt;M,OM&gt;, <a href="../../../../../org/apache/samza/operators/functions/FoldLeftFunction.html" title="interface in org.apache.samza.operators.functions">FoldLeftFunction</a>&lt;M,WV&gt;, <a href="../../../../../org/apache/samza/operators/functions/JoinFunction.html" title="interface in org.apache.samza.operators.functions">JoinFunction</a>&lt;K,M,JM,RM&gt;, <a href="../../../../../org/apache/samza/operators/functions/MapFunction.html" title="interface in org.apache.samza.operators.functions">MapFunction</a>&lt;M,OM&gt;, <a href="../../../../../org/apache/samza/operators/functions/SinkFunction.html" title="interface in org.apache.samza.operators.function
 s">SinkFunction</a>&lt;M&gt;</dd>
+<dd><a href="../../../../../org/apache/samza/operators/functions/FilterFunction.html" title="interface in org.apache.samza.operators.functions">FilterFunction</a>&lt;M&gt;, <a href="../../../../../org/apache/samza/operators/functions/FlatMapFunction.html" title="interface in org.apache.samza.operators.functions">FlatMapFunction</a>&lt;M,OM&gt;, <a href="../../../../../org/apache/samza/operators/functions/FoldLeftFunction.html" title="interface in org.apache.samza.operators.functions">FoldLeftFunction</a>&lt;M,WV&gt;, <a href="../../../../../org/apache/samza/operators/functions/JoinFunction.html" title="interface in org.apache.samza.operators.functions">JoinFunction</a>&lt;K,M,JM,RM&gt;, <a href="../../../../../org/apache/samza/operators/functions/MapFunction.html" title="interface in org.apache.samza.operators.functions">MapFunction</a>&lt;M,OM&gt;, <a href="../../../../../org/apache/samza/operators/functions/SinkFunction.html" title="interface in org.apache.samza.operators.function
 s">SinkFunction</a>&lt;M&gt;, <a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="interface in org.apache.samza.operators.functions">StreamTableJoinFunction</a>&lt;K,M,R,JM&gt;</dd>
 </dl>
 <hr>
 <br>

Modified: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/JoinFunction.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/JoinFunction.html?rev=1820026&r1=1820025&r2=1820026&view=diff
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/JoinFunction.html (original)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/JoinFunction.html Thu Jan  4 00:31:39 2018
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_60) on Mon Jun 12 14:24:21 PDT 2017 -->
-<title>JoinFunction (samza-api 0.13.1-SNAPSHOT API)</title>
-<meta name="date" content="2017-06-12">
+<!-- Generated by javadoc (1.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>JoinFunction (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JoinFunction (samza-api 0.13.1-SNAPSHOT API)";
+            parent.document.title="JoinFunction (samza-api 0.14.1-SNAPSHOT API)";
         }
     }
     catch(err) {

Modified: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/MapFunction.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/MapFunction.html?rev=1820026&r1=1820025&r2=1820026&view=diff
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/MapFunction.html (original)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/MapFunction.html Thu Jan  4 00:31:39 2018
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_60) on Mon Jun 12 14:24:21 PDT 2017 -->
-<title>MapFunction (samza-api 0.13.1-SNAPSHOT API)</title>
-<meta name="date" content="2017-06-12">
+<!-- Generated by javadoc (1.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>MapFunction (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MapFunction (samza-api 0.13.1-SNAPSHOT API)";
+            parent.document.title="MapFunction (samza-api 0.14.1-SNAPSHOT API)";
         }
     }
     catch(err) {

Modified: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/SinkFunction.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/SinkFunction.html?rev=1820026&r1=1820025&r2=1820026&view=diff
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/SinkFunction.html (original)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/SinkFunction.html Thu Jan  4 00:31:39 2018
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_60) on Mon Jun 12 14:24:21 PDT 2017 -->
-<title>SinkFunction (samza-api 0.13.1-SNAPSHOT API)</title>
-<meta name="date" content="2017-06-12">
+<!-- Generated by javadoc (1.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>SinkFunction (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SinkFunction (samza-api 0.13.1-SNAPSHOT API)";
+            parent.document.title="SinkFunction (samza-api 0.14.1-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/samza/operators/functions/MapFunction.html" title="interface in org.apache.samza.operators.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="interface in org.apache.samza.operators.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/samza/operators/functions/SinkFunction.html" target="_top">Frames</a></li>
@@ -223,7 +223,7 @@ extends <a href="../../../../../org/apac
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/samza/operators/functions/MapFunction.html" title="interface in org.apache.samza.operators.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="interface in org.apache.samza.operators.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/samza/operators/functions/SinkFunction.html" target="_top">Frames</a></li>

Added: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/StreamTableJoinFunction.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/StreamTableJoinFunction.html?rev=1820026&view=auto
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/StreamTableJoinFunction.html (added)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/StreamTableJoinFunction.html Thu Jan  4 00:31:39 2018
@@ -0,0 +1,309 @@
+<!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.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>StreamTableJoinFunction (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StreamTableJoinFunction (samza-api 0.14.1-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="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/samza/operators/functions/SinkFunction.html" title="interface in org.apache.samza.operators.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/samza/operators/functions/WatermarkFunction.html" title="interface in org.apache.samza.operators.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/samza/operators/functions/StreamTableJoinFunction.html" target="_top">Frames</a></li>
+<li><a href="StreamTableJoinFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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.samza.operators.functions</div>
+<h2 title="Interface StreamTableJoinFunction" class="title">Interface StreamTableJoinFunction&lt;K,M,R,JM&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - the type of join key</dd>
+<dd><code>M</code> - type of input message</dd>
+<dd><code>R</code> - type of the table record</dd>
+<dd><code>JM</code> - type of join results</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/samza/operators/functions/ClosableFunction.html" title="interface in org.apache.samza.operators.functions">ClosableFunction</a>, <a href="../../../../../org/apache/samza/operators/functions/InitableFunction.html" title="interface in org.apache.samza.operators.functions">InitableFunction</a></dd>
+</dl>
+<hr>
+<br>
+<pre><a href="../../../../../org/apache/samza/annotation/InterfaceStability.Unstable.html" title="annotation in org.apache.samza.annotation">@InterfaceStability.Unstable</a>
+public interface <span class="typeNameLabel">StreamTableJoinFunction&lt;K,M,R,JM&gt;</span>
+extends <a href="../../../../../org/apache/samza/operators/functions/InitableFunction.html" title="interface in org.apache.samza.operators.functions">InitableFunction</a>, <a href="../../../../../org/apache/samza/operators/functions/ClosableFunction.html" title="interface in org.apache.samza.operators.functions">ClosableFunction</a></pre>
+<div class="block">Joins incoming messages with records from a table by the join key.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">JM</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html#apply-M-R-">apply</a></span>(<a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">M</a>&nbsp;message,
+     <a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">R</a>&nbsp;record)</code>
+<div class="block">Joins the provided messages and table record, returns the joined message.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">K</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html#getMessageKey-M-">getMessageKey</a></span>(<a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">M</a>&nbsp;message)</code>
+<div class="block">Retrieve the join key from incoming messages</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">K</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html#getRecordKey-R-">getRecordKey</a></span>(<a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">R</a>&nbsp;record)</code>
+<div class="block">Retrieve the join key from table record</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.samza.operators.functions.InitableFunction">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.samza.operators.functions.<a href="../../../../../org/apache/samza/operators/functions/InitableFunction.html" title="interface in org.apache.samza.operators.functions">InitableFunction</a></h3>
+<code><a href="../../../../../org/apache/samza/operators/functions/InitableFunction.html#init-org.apache.samza.config.Config-org.apache.samza.task.TaskContext-">init</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.samza.operators.functions.ClosableFunction">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.samza.operators.functions.<a href="../../../../../org/apache/samza/operators/functions/ClosableFunction.html" title="interface in org.apache.samza.operators.functions">ClosableFunction</a></h3>
+<code><a href="../../../../../org/apache/samza/operators/functions/ClosableFunction.html#close--">close</a></code></li>
+</ul>
+</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="apply-java.lang.Object-java.lang.Object-">
+<!--   -->
+</a><a name="apply-M-R-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre><a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">JM</a>&nbsp;apply(<a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">M</a>&nbsp;message,
+         <a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">R</a>&nbsp;record)</pre>
+<div class="block">Joins the provided messages and table record, returns the joined message.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>message</code> - the input message</dd>
+<dd><code>record</code> - the table record value</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the join result</dd>
+</dl>
+</li>
+</ul>
+<a name="getMessageKey-java.lang.Object-">
+<!--   -->
+</a><a name="getMessageKey-M-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMessageKey</h4>
+<pre><a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">K</a>&nbsp;getMessageKey(<a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">M</a>&nbsp;message)</pre>
+<div class="block">Retrieve the join key from incoming messages</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>message</code> - incoming message</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the join key</dd>
+</dl>
+</li>
+</ul>
+<a name="getRecordKey-java.lang.Object-">
+<!--   -->
+</a><a name="getRecordKey-R-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getRecordKey</h4>
+<pre><a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">K</a>&nbsp;getRecordKey(<a href="../../../../../org/apache/samza/operators/functions/StreamTableJoinFunction.html" title="type parameter in StreamTableJoinFunction">R</a>&nbsp;record)</pre>
+<div class="block">Retrieve the join key from table record</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>record</code> - table record</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the join key</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="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/samza/operators/functions/SinkFunction.html" title="interface in org.apache.samza.operators.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/samza/operators/functions/WatermarkFunction.html" title="interface in org.apache.samza.operators.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/samza/operators/functions/StreamTableJoinFunction.html" target="_top">Frames</a></li>
+<li><a href="StreamTableJoinFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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>

Added: samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/WatermarkFunction.html
URL: http://svn.apache.org/viewvc/samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/WatermarkFunction.html?rev=1820026&view=auto
==============================================================================
--- samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/WatermarkFunction.html (added)
+++ samza/site/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/WatermarkFunction.html Thu Jan  4 00:31:39 2018
@@ -0,0 +1,261 @@
+<!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.8.0_121) on Wed Jan 03 16:26:16 PST 2018 -->
+<title>WatermarkFunction (samza-api 0.14.1-SNAPSHOT API)</title>
+<meta name="date" content="2018-01-03">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="WatermarkFunction (samza-api 0.14.1-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="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/samza/operators/functions/StreamTableJoinFunction.html" title="interface in org.apache.samza.operators.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/samza/operators/functions/WatermarkFunction.html" target="_top">Frames</a></li>
+<li><a href="WatermarkFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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.samza.operators.functions</div>
+<h2 title="Interface WatermarkFunction" class="title">Interface WatermarkFunction&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">WatermarkFunction&lt;T&gt;</span></pre>
+<div class="block">Allows handling of watermarks.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>java.lang.Long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/samza/operators/functions/WatermarkFunction.html#getOutputWatermark--">getOutputWatermark</a></span>()</code>
+<div class="block">Returns the output watermark.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../../org/apache/samza/operators/functions/WatermarkFunction.html" title="type parameter in WatermarkFunction">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/samza/operators/functions/WatermarkFunction.html#processWatermark-long-">processWatermark</a></span>(long&nbsp;watermark)</code>
+<div class="block">Processes the input watermark coming from upstream operators.</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="processWatermark-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processWatermark</h4>
+<pre>java.util.Collection&lt;<a href="../../../../../org/apache/samza/operators/functions/WatermarkFunction.html" title="type parameter in WatermarkFunction">T</a>&gt;&nbsp;processWatermark(long&nbsp;watermark)</pre>
+<div class="block">Processes the input watermark coming from upstream operators.
+ This allows custom watermark handling, such as triggering events or propagating it downstream.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>watermark</code> - input watermark</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output triggered after processing the watermark</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputWatermark--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getOutputWatermark</h4>
+<pre>java.lang.Long&nbsp;getOutputWatermark()</pre>
+<div class="block">Returns the output watermark. This function will be invoked immediately after either
+ of the following events:
+ <ol>
+  <li> Return from the transform function, e.g. <a href="../../../../../org/apache/samza/operators/functions/FlatMapFunction.html" title="interface in org.apache.samza.operators.functions"><code>FlatMapFunction</code></a>.
+  <li> Return from the <a href="../../../../../org/apache/samza/operators/functions/WatermarkFunction.html#processWatermark-long-"><code>processWatermark(long)</code></a> function.
+ </ol>
+
+ Note: If the transform function returns a collection of messages, the output watermark
+ will be emitted after the output collection has been propagated to downstream operators.
+ This might delay the watermark propagation, which will cause more buffering and might
+ have a performance impact.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output watermark, or null if the output watermark should not be updated.
+         Samza guarantees that the same watermark value will only be emitted once.</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="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/samza/operators/functions/StreamTableJoinFunction.html" title="interface in org.apache.samza.operators.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/samza/operators/functions/WatermarkFunction.html" target="_top">Frames</a></li>
+<li><a href="WatermarkFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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>