You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by gu...@apache.org on 2017/11/01 22:40:40 UTC

[18/51] [partial] kafka-site git commit: MINOR: Follow-up Update on 1.0.0 release

http://git-wip-us.apache.org/repos/asf/kafka-site/blob/2e200cfc/10/javadoc/org/apache/kafka/clients/producer/ProducerInterceptor.html
----------------------------------------------------------------------
diff --git a/10/javadoc/org/apache/kafka/clients/producer/ProducerInterceptor.html b/10/javadoc/org/apache/kafka/clients/producer/ProducerInterceptor.html
new file mode 100644
index 0000000..486f19f
--- /dev/null
+++ b/10/javadoc/org/apache/kafka/clients/producer/ProducerInterceptor.html
@@ -0,0 +1,333 @@
+<!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_152) on Wed Nov 01 13:25:43 GMT 2017 -->
+<title>ProducerInterceptor (kafka 1.0.0 API)</title>
+<meta name="date" content="2017-11-01">
+<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="ProducerInterceptor (kafka 1.0.0 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/kafka/clients/producer/ProducerConfig.html" title="class in org.apache.kafka.clients.producer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="class in org.apache.kafka.clients.producer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kafka/clients/producer/ProducerInterceptor.html" target="_top">Frames</a></li>
+<li><a href="ProducerInterceptor.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.kafka.clients.producer</div>
+<h2 title="Interface ProducerInterceptor" class="title">Interface ProducerInterceptor&lt;K,V&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/kafka/common/Configurable.html" title="interface in org.apache.kafka.common">Configurable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ProducerInterceptor&lt;K,V&gt;</span>
+extends <a href="../../../../../org/apache/kafka/common/Configurable.html" title="interface in org.apache.kafka.common">Configurable</a></pre>
+<div class="block">A plugin interface that allows you to intercept (and possibly mutate) the records received by the producer before
+ they are published to the Kafka cluster.
+ <p>
+ This class will get producer config properties via <code>configure()</code> method, including clientId assigned
+ by KafkaProducer if not specified in the producer config. The interceptor implementation needs to be aware that it will be
+ sharing producer config namespace with other interceptors and serializers, and ensure that there are no conflicts.
+ <p>
+ Exceptions thrown by ProducerInterceptor methods will be caught, logged, but not propagated further. As a result, if
+ the user configures the interceptor with the wrong key and value type parameters, the producer will not throw an exception,
+ just log the errors.
+ <p>
+ ProducerInterceptor callbacks may be called from multiple threads. Interceptor implementation must ensure thread-safety, if needed.
+ <p>
+ Implement <a href="../../../../../org/apache/kafka/common/ClusterResourceListener.html" title="interface in org.apache.kafka.common"><code>ClusterResourceListener</code></a> to receive cluster metadata once it's available. Please see the class documentation for ClusterResourceListener for more information.</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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerInterceptor.html#close--">close</a></span>()</code>
+<div class="block">This is called when interceptor is closed</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerInterceptor.html#onAcknowledgement-org.apache.kafka.clients.producer.RecordMetadata-java.lang.Exception-">onAcknowledgement</a></span>(<a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html" title="class in org.apache.kafka.clients.producer">RecordMetadata</a>&nbsp;metadata,
+                 java.lang.Exception&nbsp;exception)</code>
+<div class="block">This method is called when the record sent to the server has been acknowledged, or when sending the record fails before
+ it gets sent to the server.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="class in org.apache.kafka.clients.producer">ProducerRecord</a>&lt;<a href="../../../../../org/apache/kafka/clients/producer/ProducerInterceptor.html" title="type parameter in ProducerInterceptor">K</a>,<a href="../../../../../org/apache/kafka/clients/producer/ProducerInterceptor.html" title="type parameter in ProducerInterceptor">V</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerInterceptor.html#onSend-org.apache.kafka.clients.producer.ProducerRecord-">onSend</a></span>(<a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="class in org.apache.kafka.clients.producer">ProducerRecord</a>&lt;<a href="../../../../../org/apache/kafka/clients/producer/ProducerInterceptor.html" title="type parameter in ProducerInterceptor">K</a>,<a href="../../../../../org/apache/kafka/clients/producer/ProducerInterceptor.html" title="type parameter in ProducerInterceptor">V</a>&gt;&nbsp;record)</code>
+<div class="block">This is called from <a href="../../../../../org/apache/kafka/clients/producer/KafkaProducer.html#send-org.apache.kafka.clients.producer.ProducerRecord-"><code>KafkaProducer.send(ProducerRecord)</code></a> and
+ <a href="../../../../../org/apache/kafka/clients/producer/KafkaProducer.html#send-org.apache.kafka.clients.producer.ProducerRecord-org.apache.kafka.clients.producer.Callback-"><code>KafkaProducer.send(ProducerRecord, Callback)</code></a> methods, before key and value
+ get serialized and partition is assigned (if partition is not specified in ProducerRecord).</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kafka.common.Configurable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.kafka.common.<a href="../../../../../org/apache/kafka/common/Configurable.html" title="interface in org.apache.kafka.common">Configurable</a></h3>
+<code><a href="../../../../../org/apache/kafka/common/Configurable.html#configure-java.util.Map-">configure</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="onSend-org.apache.kafka.clients.producer.ProducerRecord-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onSend</h4>
+<pre><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="class in org.apache.kafka.clients.producer">ProducerRecord</a>&lt;<a href="../../../../../org/apache/kafka/clients/producer/ProducerInterceptor.html" title="type parameter in ProducerInterceptor">K</a>,<a href="../../../../../org/apache/kafka/clients/producer/ProducerInterceptor.html" title="type parameter in ProducerInterceptor">V</a>&gt;&nbsp;onSend(<a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="class in org.apache.kafka.clients.producer">ProducerRecord</a>&lt;<a href="../../../../../org/apache/kafka/clients/producer/ProducerInterceptor.html" title="type parameter in ProducerInterceptor">K</a>,<a href="../../../../../org/apache/kafka/clients/producer/ProducerInterceptor.html" title="type parameter in ProducerInterceptor">V</a>&gt;&nbsp;record)</pre>
+<div class="block">This is called from <a href="../../../../../org/apache/kafka/clients/producer/KafkaProducer.html#send-org.apache.kafka.clients.producer.ProducerRecord-"><code>KafkaProducer.send(ProducerRecord)</code></a> and
+ <a href="../../../../../org/apache/kafka/clients/producer/KafkaProducer.html#send-org.apache.kafka.clients.producer.ProducerRecord-org.apache.kafka.clients.producer.Callback-"><code>KafkaProducer.send(ProducerRecord, Callback)</code></a> methods, before key and value
+ get serialized and partition is assigned (if partition is not specified in ProducerRecord).
+ <p>
+ This method is allowed to modify the record, in which case, the new record will be returned. The implication of modifying
+ key/value is that partition assignment (if not specified in ProducerRecord) will be done based on modified key/value,
+ not key/value from the client. Consequently, key and value transformation done in onSend() needs to be consistent:
+ same key and value should mutate to the same (modified) key and value. Otherwise, log compaction would not work
+ as expected.
+ <p>
+ Similarly, it is up to interceptor implementation to ensure that correct topic/partition is returned in ProducerRecord.
+ Most often, it should be the same topic/partition from 'record'.
+ <p>
+ Any exception thrown by this method will be caught by the caller and logged, but not propagated further.
+ <p>
+ Since the producer may run multiple interceptors, a particular interceptor's onSend() callback will be called in the order
+ specified by <a href="../../../../../org/apache/kafka/clients/producer/ProducerConfig.html#INTERCEPTOR_CLASSES_CONFIG"><code>ProducerConfig.INTERCEPTOR_CLASSES_CONFIG</code></a>. The first interceptor
+ in the list gets the record passed from the client, the following interceptor will be passed the record returned by the
+ previous interceptor, and so on. Since interceptors are allowed to modify records, interceptors may potentially get
+ the record already modified by other interceptors. However, building a pipeline of mutable interceptors that depend on the output
+ of the previous interceptor is discouraged, because of potential side-effects caused by interceptors potentially failing to
+ modify the record and throwing an exception. If one of the interceptors in the list throws an exception from onSend(), the exception
+ is caught, logged, and the next interceptor is called with the record returned by the last successful interceptor in the list,
+ or otherwise the client.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>record</code> - the record from client or the record returned by the previous interceptor in the chain of interceptors.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>producer record to send to topic/partition</dd>
+</dl>
+</li>
+</ul>
+<a name="onAcknowledgement-org.apache.kafka.clients.producer.RecordMetadata-java.lang.Exception-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onAcknowledgement</h4>
+<pre>void&nbsp;onAcknowledgement(<a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html" title="class in org.apache.kafka.clients.producer">RecordMetadata</a>&nbsp;metadata,
+                       java.lang.Exception&nbsp;exception)</pre>
+<div class="block">This method is called when the record sent to the server has been acknowledged, or when sending the record fails before
+ it gets sent to the server.
+ <p>
+ This method is generally called just before the user callback is called, and in additional cases when <code>KafkaProducer.send()</code>
+ throws an exception.
+ <p>
+ Any exception thrown by this method will be ignored by the caller.
+ <p>
+ This method will generally execute in the background I/O thread, so the implementation should be reasonably fast.
+ Otherwise, sending of messages from other threads could be delayed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>metadata</code> - The metadata for the record that was sent (i.e. the partition and offset).
+                 If an error occurred, metadata will contain only valid topic and maybe
+                 partition. If partition is not given in ProducerRecord and an error occurs
+                 before partition gets assigned, then partition will be set to RecordMetadata.NO_PARTITION.
+                 The metadata may be null if the client passed null record to
+                 <a href="../../../../../org/apache/kafka/clients/producer/KafkaProducer.html#send-org.apache.kafka.clients.producer.ProducerRecord-"><code>KafkaProducer.send(ProducerRecord)</code></a>.</dd>
+<dd><code>exception</code> - The exception thrown during processing of this record. Null if no error occurred.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>void&nbsp;close()</pre>
+<div class="block">This is called when interceptor is closed</div>
+</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/kafka/clients/producer/ProducerConfig.html" title="class in org.apache.kafka.clients.producer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="class in org.apache.kafka.clients.producer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kafka/clients/producer/ProducerInterceptor.html" target="_top">Frames</a></li>
+<li><a href="ProducerInterceptor.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>

http://git-wip-us.apache.org/repos/asf/kafka-site/blob/2e200cfc/10/javadoc/org/apache/kafka/clients/producer/ProducerRecord.html
----------------------------------------------------------------------
diff --git a/10/javadoc/org/apache/kafka/clients/producer/ProducerRecord.html b/10/javadoc/org/apache/kafka/clients/producer/ProducerRecord.html
new file mode 100644
index 0000000..d3f7ce1
--- /dev/null
+++ b/10/javadoc/org/apache/kafka/clients/producer/ProducerRecord.html
@@ -0,0 +1,604 @@
+<!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_152) on Wed Nov 01 13:25:43 GMT 2017 -->
+<title>ProducerRecord (kafka 1.0.0 API)</title>
+<meta name="date" content="2017-11-01">
+<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="ProducerRecord (kafka 1.0.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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/kafka/clients/producer/ProducerInterceptor.html" title="interface in org.apache.kafka.clients.producer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html" title="class in org.apache.kafka.clients.producer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kafka/clients/producer/ProducerRecord.html" target="_top">Frames</a></li>
+<li><a href="ProducerRecord.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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.kafka.clients.producer</div>
+<h2 title="Class ProducerRecord" class="title">Class ProducerRecord&lt;K,V&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kafka.clients.producer.ProducerRecord&lt;K,V&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ProducerRecord&lt;K,V&gt;</span>
+extends java.lang.Object</pre>
+<div class="block">A key/value pair to be sent to Kafka. This consists of a topic name to which the record is being sent, an optional
+ partition number, and an optional key and value.
+ <p>
+ If a valid partition number is specified that partition will be used when sending the record. If no partition is
+ specified but a key is present a partition will be chosen using a hash of the key. If neither key nor partition is
+ present a partition will be assigned in a round-robin fashion.
+ <p>
+ The record also has an associated timestamp. If the user did not provide a timestamp, the producer will stamp the
+ record with its current time. The timestamp eventually used by Kafka depends on the timestamp type configured for
+ the topic.
+ <li>
+ If the topic is configured to use <code>CreateTime</code>,
+ the timestamp in the producer record will be used by the broker.
+ </li>
+ <li>
+ If the topic is configured to use <code>LogAppendTime</code>,
+ the timestamp in the producer record will be overwritten by the broker with the broker local time when it appends the
+ message to its log.
+ </li>
+ <p>
+ In either of the cases above, the timestamp that has actually been used will be returned to user in
+ <a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html" title="class in org.apache.kafka.clients.producer"><code>RecordMetadata</code></a></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#ProducerRecord-java.lang.String-java.lang.Integer-K-V-">ProducerRecord</a></span>(java.lang.String&nbsp;topic,
+              java.lang.Integer&nbsp;partition,
+              <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">K</a>&nbsp;key,
+              <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value)</code>
+<div class="block">Creates a record to be sent to a specified topic and partition</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#ProducerRecord-java.lang.String-java.lang.Integer-K-V-java.lang.Iterable-">ProducerRecord</a></span>(java.lang.String&nbsp;topic,
+              java.lang.Integer&nbsp;partition,
+              <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">K</a>&nbsp;key,
+              <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value,
+              java.lang.Iterable&lt;<a href="../../../../../org/apache/kafka/common/header/Header.html" title="interface in org.apache.kafka.common.header">Header</a>&gt;&nbsp;headers)</code>
+<div class="block">Creates a record to be sent to a specified topic and partition</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#ProducerRecord-java.lang.String-java.lang.Integer-java.lang.Long-K-V-">ProducerRecord</a></span>(java.lang.String&nbsp;topic,
+              java.lang.Integer&nbsp;partition,
+              java.lang.Long&nbsp;timestamp,
+              <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">K</a>&nbsp;key,
+              <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value)</code>
+<div class="block">Creates a record with a specified timestamp to be sent to a specified topic and partition</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#ProducerRecord-java.lang.String-java.lang.Integer-java.lang.Long-K-V-java.lang.Iterable-">ProducerRecord</a></span>(java.lang.String&nbsp;topic,
+              java.lang.Integer&nbsp;partition,
+              java.lang.Long&nbsp;timestamp,
+              <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">K</a>&nbsp;key,
+              <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value,
+              java.lang.Iterable&lt;<a href="../../../../../org/apache/kafka/common/header/Header.html" title="interface in org.apache.kafka.common.header">Header</a>&gt;&nbsp;headers)</code>
+<div class="block">Creates a record with a specified timestamp to be sent to a specified topic and partition</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#ProducerRecord-java.lang.String-K-V-">ProducerRecord</a></span>(java.lang.String&nbsp;topic,
+              <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">K</a>&nbsp;key,
+              <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value)</code>
+<div class="block">Create a record to be sent to Kafka</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#ProducerRecord-java.lang.String-V-">ProducerRecord</a></span>(java.lang.String&nbsp;topic,
+              <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value)</code>
+<div class="block">Create a record with no key</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== 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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/kafka/common/header/Headers.html" title="interface in org.apache.kafka.common.header">Headers</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#headers--">headers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">K</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#key--">key</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>java.lang.Integer</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#partition--">partition</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>java.lang.Long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#timestamp--">timestamp</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#topic--">topic</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html#value--">value</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ProducerRecord-java.lang.String-java.lang.Integer-java.lang.Long-java.lang.Object-java.lang.Object-java.lang.Iterable-">
+<!--   -->
+</a><a name="ProducerRecord-java.lang.String-java.lang.Integer-java.lang.Long-K-V-java.lang.Iterable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ProducerRecord</h4>
+<pre>public&nbsp;ProducerRecord(java.lang.String&nbsp;topic,
+                      java.lang.Integer&nbsp;partition,
+                      java.lang.Long&nbsp;timestamp,
+                      <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">K</a>&nbsp;key,
+                      <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value,
+                      java.lang.Iterable&lt;<a href="../../../../../org/apache/kafka/common/header/Header.html" title="interface in org.apache.kafka.common.header">Header</a>&gt;&nbsp;headers)</pre>
+<div class="block">Creates a record with a specified timestamp to be sent to a specified topic and partition</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - The topic the record will be appended to</dd>
+<dd><code>partition</code> - The partition to which the record should be sent</dd>
+<dd><code>timestamp</code> - The timestamp of the record, in milliseconds since epoch. If null, the producer will assign
+                  the timestamp using System.currentTimeMillis().</dd>
+<dd><code>key</code> - The key that will be included in the record</dd>
+<dd><code>value</code> - The record contents</dd>
+<dd><code>headers</code> - the headers that will be included in the record</dd>
+</dl>
+</li>
+</ul>
+<a name="ProducerRecord-java.lang.String-java.lang.Integer-java.lang.Long-java.lang.Object-java.lang.Object-">
+<!--   -->
+</a><a name="ProducerRecord-java.lang.String-java.lang.Integer-java.lang.Long-K-V-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ProducerRecord</h4>
+<pre>public&nbsp;ProducerRecord(java.lang.String&nbsp;topic,
+                      java.lang.Integer&nbsp;partition,
+                      java.lang.Long&nbsp;timestamp,
+                      <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">K</a>&nbsp;key,
+                      <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value)</pre>
+<div class="block">Creates a record with a specified timestamp to be sent to a specified topic and partition</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - The topic the record will be appended to</dd>
+<dd><code>partition</code> - The partition to which the record should be sent</dd>
+<dd><code>timestamp</code> - The timestamp of the record, in milliseconds since epoch. If null, the producer will assign the
+                  timestamp using System.currentTimeMillis().</dd>
+<dd><code>key</code> - The key that will be included in the record</dd>
+<dd><code>value</code> - The record contents</dd>
+</dl>
+</li>
+</ul>
+<a name="ProducerRecord-java.lang.String-java.lang.Integer-java.lang.Object-java.lang.Object-java.lang.Iterable-">
+<!--   -->
+</a><a name="ProducerRecord-java.lang.String-java.lang.Integer-K-V-java.lang.Iterable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ProducerRecord</h4>
+<pre>public&nbsp;ProducerRecord(java.lang.String&nbsp;topic,
+                      java.lang.Integer&nbsp;partition,
+                      <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">K</a>&nbsp;key,
+                      <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value,
+                      java.lang.Iterable&lt;<a href="../../../../../org/apache/kafka/common/header/Header.html" title="interface in org.apache.kafka.common.header">Header</a>&gt;&nbsp;headers)</pre>
+<div class="block">Creates a record to be sent to a specified topic and partition</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - The topic the record will be appended to</dd>
+<dd><code>partition</code> - The partition to which the record should be sent</dd>
+<dd><code>key</code> - The key that will be included in the record</dd>
+<dd><code>value</code> - The record contents</dd>
+<dd><code>headers</code> - The headers that will be included in the record</dd>
+</dl>
+</li>
+</ul>
+<a name="ProducerRecord-java.lang.String-java.lang.Integer-java.lang.Object-java.lang.Object-">
+<!--   -->
+</a><a name="ProducerRecord-java.lang.String-java.lang.Integer-K-V-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ProducerRecord</h4>
+<pre>public&nbsp;ProducerRecord(java.lang.String&nbsp;topic,
+                      java.lang.Integer&nbsp;partition,
+                      <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">K</a>&nbsp;key,
+                      <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value)</pre>
+<div class="block">Creates a record to be sent to a specified topic and partition</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - The topic the record will be appended to</dd>
+<dd><code>partition</code> - The partition to which the record should be sent</dd>
+<dd><code>key</code> - The key that will be included in the record</dd>
+<dd><code>value</code> - The record contents</dd>
+</dl>
+</li>
+</ul>
+<a name="ProducerRecord-java.lang.String-java.lang.Object-java.lang.Object-">
+<!--   -->
+</a><a name="ProducerRecord-java.lang.String-K-V-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ProducerRecord</h4>
+<pre>public&nbsp;ProducerRecord(java.lang.String&nbsp;topic,
+                      <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">K</a>&nbsp;key,
+                      <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value)</pre>
+<div class="block">Create a record to be sent to Kafka</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - The topic the record will be appended to</dd>
+<dd><code>key</code> - The key that will be included in the record</dd>
+<dd><code>value</code> - The record contents</dd>
+</dl>
+</li>
+</ul>
+<a name="ProducerRecord-java.lang.String-java.lang.Object-">
+<!--   -->
+</a><a name="ProducerRecord-java.lang.String-V-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ProducerRecord</h4>
+<pre>public&nbsp;ProducerRecord(java.lang.String&nbsp;topic,
+                      <a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value)</pre>
+<div class="block">Create a record with no key</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - The topic this record should be sent to</dd>
+<dd><code>value</code> - The record contents</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="topic--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>topic</h4>
+<pre>public&nbsp;java.lang.String&nbsp;topic()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The topic this record is being sent to</dd>
+</dl>
+</li>
+</ul>
+<a name="headers--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>headers</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/kafka/common/header/Headers.html" title="interface in org.apache.kafka.common.header">Headers</a>&nbsp;headers()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The headers</dd>
+</dl>
+</li>
+</ul>
+<a name="key--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>key</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">K</a>&nbsp;key()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The key (or null if no key is specified)</dd>
+</dl>
+</li>
+</ul>
+<a name="value--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>value</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="type parameter in ProducerRecord">V</a>&nbsp;value()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The value</dd>
+</dl>
+</li>
+</ul>
+<a name="timestamp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>timestamp</h4>
+<pre>public&nbsp;java.lang.Long&nbsp;timestamp()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The timestamp, which is in milliseconds since epoch.</dd>
+</dl>
+</li>
+</ul>
+<a name="partition--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>partition</h4>
+<pre>public&nbsp;java.lang.Integer&nbsp;partition()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The partition to which the record will be sent (or null if no partition was specified)</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></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/kafka/clients/producer/ProducerInterceptor.html" title="interface in org.apache.kafka.clients.producer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html" title="class in org.apache.kafka.clients.producer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kafka/clients/producer/ProducerRecord.html" target="_top">Frames</a></li>
+<li><a href="ProducerRecord.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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>

http://git-wip-us.apache.org/repos/asf/kafka-site/blob/2e200cfc/10/javadoc/org/apache/kafka/clients/producer/RecordMetadata.html
----------------------------------------------------------------------
diff --git a/10/javadoc/org/apache/kafka/clients/producer/RecordMetadata.html b/10/javadoc/org/apache/kafka/clients/producer/RecordMetadata.html
new file mode 100644
index 0000000..9088e22
--- /dev/null
+++ b/10/javadoc/org/apache/kafka/clients/producer/RecordMetadata.html
@@ -0,0 +1,537 @@
+<!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_152) on Wed Nov 01 13:25:43 GMT 2017 -->
+<title>RecordMetadata (kafka 1.0.0 API)</title>
+<meta name="date" content="2017-11-01">
+<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="RecordMetadata (kafka 1.0.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":42,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated 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/kafka/clients/producer/ProducerRecord.html" title="class in org.apache.kafka.clients.producer"><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/kafka/clients/producer/RecordMetadata.html" target="_top">Frames</a></li>
+<li><a href="RecordMetadata.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><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&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.kafka.clients.producer</div>
+<h2 title="Class RecordMetadata" class="title">Class RecordMetadata</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kafka.clients.producer.RecordMetadata</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">RecordMetadata</span>
+extends java.lang.Object</pre>
+<div class="block">The metadata for a record that has been acknowledged by the server</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#UNKNOWN_PARTITION">UNKNOWN_PARTITION</a></span></code>
+<div class="block">Partition value for record without partition assigned</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#RecordMetadata-org.apache.kafka.common.TopicPartition-long-long-long-long-int-int-">RecordMetadata</a></span>(<a href="../../../../../org/apache/kafka/common/TopicPartition.html" title="class in org.apache.kafka.common">TopicPartition</a>&nbsp;topicPartition,
+              long&nbsp;baseOffset,
+              long&nbsp;relativeOffset,
+              long&nbsp;timestamp,
+              long&nbsp;checksum,
+              int&nbsp;serializedKeySize,
+              int&nbsp;serializedValueSize)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">As of 0.11.0. Use @<a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#RecordMetadata-org.apache.kafka.common.TopicPartition-long-long-long-java.lang.Long-int-int-"><code>RecordMetadata(TopicPartition, long, long, long, Long, int, int)</code></a>.</span></div>
+</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#RecordMetadata-org.apache.kafka.common.TopicPartition-long-long-long-java.lang.Long-int-int-">RecordMetadata</a></span>(<a href="../../../../../org/apache/kafka/common/TopicPartition.html" title="class in org.apache.kafka.common">TopicPartition</a>&nbsp;topicPartition,
+              long&nbsp;baseOffset,
+              long&nbsp;relativeOffset,
+              long&nbsp;timestamp,
+              java.lang.Long&nbsp;checksum,
+              int&nbsp;serializedKeySize,
+              int&nbsp;serializedValueSize)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== 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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#checksum--">checksum</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">As of Kafka 0.11.0. Because of the potential for message format conversion on the broker, the
+             computed checksum may not match what was stored on the broker, or what will be returned to the consumer.
+             It is therefore unsafe to depend on this checksum for end-to-end delivery guarantees. Additionally,
+             message format v2 does not include a record-level checksum (for performance, the record checksum
+             was replaced with a batch checksum). To maintain compatibility, a partial checksum computed from
+             the record timestamp, serialized key size, and serialized value size is returned instead, but
+             this should not be depended on for end-to-end reliability.</span></div>
+</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#hasOffset--">hasOffset</a></span>()</code>
+<div class="block">Indicates whether the record metadata includes the offset.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#hasTimestamp--">hasTimestamp</a></span>()</code>
+<div class="block">Indicates whether the record metadata includes the timestamp.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#offset--">offset</a></span>()</code>
+<div class="block">The offset of the record in the topic/partition.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#partition--">partition</a></span>()</code>
+<div class="block">The partition the record was sent to</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#serializedKeySize--">serializedKeySize</a></span>()</code>
+<div class="block">The size of the serialized, uncompressed key in bytes.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#serializedValueSize--">serializedValueSize</a></span>()</code>
+<div class="block">The size of the serialized, uncompressed value in bytes.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#timestamp--">timestamp</a></span>()</code>
+<div class="block">The timestamp of the record in the topic/partition.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#topic--">topic</a></span>()</code>
+<div class="block">The topic the record was appended to</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="UNKNOWN_PARTITION">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>UNKNOWN_PARTITION</h4>
+<pre>public static final&nbsp;int UNKNOWN_PARTITION</pre>
+<div class="block">Partition value for record without partition assigned</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kafka.clients.producer.RecordMetadata.UNKNOWN_PARTITION">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="RecordMetadata-org.apache.kafka.common.TopicPartition-long-long-long-java.lang.Long-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RecordMetadata</h4>
+<pre>public&nbsp;RecordMetadata(<a href="../../../../../org/apache/kafka/common/TopicPartition.html" title="class in org.apache.kafka.common">TopicPartition</a>&nbsp;topicPartition,
+                      long&nbsp;baseOffset,
+                      long&nbsp;relativeOffset,
+                      long&nbsp;timestamp,
+                      java.lang.Long&nbsp;checksum,
+                      int&nbsp;serializedKeySize,
+                      int&nbsp;serializedValueSize)</pre>
+</li>
+</ul>
+<a name="RecordMetadata-org.apache.kafka.common.TopicPartition-long-long-long-long-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RecordMetadata</h4>
+<pre>@Deprecated
+public&nbsp;RecordMetadata(<a href="../../../../../org/apache/kafka/common/TopicPartition.html" title="class in org.apache.kafka.common">TopicPartition</a>&nbsp;topicPartition,
+                                  long&nbsp;baseOffset,
+                                  long&nbsp;relativeOffset,
+                                  long&nbsp;timestamp,
+                                  long&nbsp;checksum,
+                                  int&nbsp;serializedKeySize,
+                                  int&nbsp;serializedValueSize)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of 0.11.0. Use @<a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#RecordMetadata-org.apache.kafka.common.TopicPartition-long-long-long-java.lang.Long-int-int-"><code>RecordMetadata(TopicPartition, long, long, long, Long, int, int)</code></a>.</span></div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="hasOffset--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasOffset</h4>
+<pre>public&nbsp;boolean&nbsp;hasOffset()</pre>
+<div class="block">Indicates whether the record metadata includes the offset.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the offset is included in the metadata, false otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="offset--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>offset</h4>
+<pre>public&nbsp;long&nbsp;offset()</pre>
+<div class="block">The offset of the record in the topic/partition.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the offset of the record, or -1 if {<a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#hasOffset--"><code>hasOffset()</code></a>} returns false.</dd>
+</dl>
+</li>
+</ul>
+<a name="hasTimestamp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasTimestamp</h4>
+<pre>public&nbsp;boolean&nbsp;hasTimestamp()</pre>
+<div class="block">Indicates whether the record metadata includes the timestamp.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if a valid timestamp exists, false otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="timestamp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>timestamp</h4>
+<pre>public&nbsp;long&nbsp;timestamp()</pre>
+<div class="block">The timestamp of the record in the topic/partition.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the timestamp of the record, or -1 if the {<a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html#hasTimestamp--"><code>hasTimestamp()</code></a>} returns false.</dd>
+</dl>
+</li>
+</ul>
+<a name="checksum--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checksum</h4>
+<pre>@Deprecated
+public&nbsp;long&nbsp;checksum()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of Kafka 0.11.0. Because of the potential for message format conversion on the broker, the
+             computed checksum may not match what was stored on the broker, or what will be returned to the consumer.
+             It is therefore unsafe to depend on this checksum for end-to-end delivery guarantees. Additionally,
+             message format v2 does not include a record-level checksum (for performance, the record checksum
+             was replaced with a batch checksum). To maintain compatibility, a partial checksum computed from
+             the record timestamp, serialized key size, and serialized value size is returned instead, but
+             this should not be depended on for end-to-end reliability.</span></div>
+<div class="block">The checksum (CRC32) of the record.</div>
+</li>
+</ul>
+<a name="serializedKeySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serializedKeySize</h4>
+<pre>public&nbsp;int&nbsp;serializedKeySize()</pre>
+<div class="block">The size of the serialized, uncompressed key in bytes. If key is null, the returned size
+ is -1.</div>
+</li>
+</ul>
+<a name="serializedValueSize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serializedValueSize</h4>
+<pre>public&nbsp;int&nbsp;serializedValueSize()</pre>
+<div class="block">The size of the serialized, uncompressed value in bytes. If value is null, the returned
+ size is -1.</div>
+</li>
+</ul>
+<a name="topic--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>topic</h4>
+<pre>public&nbsp;java.lang.String&nbsp;topic()</pre>
+<div class="block">The topic the record was appended to</div>
+</li>
+</ul>
+<a name="partition--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>partition</h4>
+<pre>public&nbsp;int&nbsp;partition()</pre>
+<div class="block">The partition the record was sent to</div>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></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/kafka/clients/producer/ProducerRecord.html" title="class in org.apache.kafka.clients.producer"><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/kafka/clients/producer/RecordMetadata.html" target="_top">Frames</a></li>
+<li><a href="RecordMetadata.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><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&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>

http://git-wip-us.apache.org/repos/asf/kafka-site/blob/2e200cfc/10/javadoc/org/apache/kafka/clients/producer/package-frame.html
----------------------------------------------------------------------
diff --git a/10/javadoc/org/apache/kafka/clients/producer/package-frame.html b/10/javadoc/org/apache/kafka/clients/producer/package-frame.html
new file mode 100644
index 0000000..ad0c530
--- /dev/null
+++ b/10/javadoc/org/apache/kafka/clients/producer/package-frame.html
@@ -0,0 +1,35 @@
+<!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_152) on Wed Nov 01 13:25:44 GMT 2017 -->
+<title>org.apache.kafka.clients.producer (kafka 1.0.0 API)</title>
+<meta name="date" content="2017-11-01">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/kafka/clients/producer/package-summary.html" target="classFrame">org.apache.kafka.clients.producer</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="Callback.html" title="interface in org.apache.kafka.clients.producer" target="classFrame"><span class="interfaceName">Callback</span></a></li>
+<li><a href="Partitioner.html" title="interface in org.apache.kafka.clients.producer" target="classFrame"><span class="interfaceName">Partitioner</span></a></li>
+<li><a href="Producer.html" title="interface in org.apache.kafka.clients.producer" target="classFrame"><span class="interfaceName">Producer</span></a></li>
+<li><a href="ProducerInterceptor.html" title="interface in org.apache.kafka.clients.producer" target="classFrame"><span class="interfaceName">ProducerInterceptor</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="KafkaProducer.html" title="class in org.apache.kafka.clients.producer" target="classFrame">KafkaProducer</a></li>
+<li><a href="MockProducer.html" title="class in org.apache.kafka.clients.producer" target="classFrame">MockProducer</a></li>
+<li><a href="ProducerConfig.html" title="class in org.apache.kafka.clients.producer" target="classFrame">ProducerConfig</a></li>
+<li><a href="ProducerRecord.html" title="class in org.apache.kafka.clients.producer" target="classFrame">ProducerRecord</a></li>
+<li><a href="RecordMetadata.html" title="class in org.apache.kafka.clients.producer" target="classFrame">RecordMetadata</a></li>
+</ul>
+<h2 title="Exceptions">Exceptions</h2>
+<ul title="Exceptions">
+<li><a href="BufferExhaustedException.html" title="class in org.apache.kafka.clients.producer" target="classFrame">BufferExhaustedException</a></li>
+</ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/kafka-site/blob/2e200cfc/10/javadoc/org/apache/kafka/clients/producer/package-summary.html
----------------------------------------------------------------------
diff --git a/10/javadoc/org/apache/kafka/clients/producer/package-summary.html b/10/javadoc/org/apache/kafka/clients/producer/package-summary.html
new file mode 100644
index 0000000..8377260
--- /dev/null
+++ b/10/javadoc/org/apache/kafka/clients/producer/package-summary.html
@@ -0,0 +1,220 @@
+<!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_152) on Wed Nov 01 13:25:44 GMT 2017 -->
+<title>org.apache.kafka.clients.producer (kafka 1.0.0 API)</title>
+<meta name="date" content="2017-11-01">
+<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="org.apache.kafka.clients.producer (kafka 1.0.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<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 class="navBarCell1Rev">Package</li>
+<li>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/kafka/clients/consumer/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/kafka/common/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kafka/clients/producer/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.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>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.kafka.clients.producer</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/kafka/clients/producer/Callback.html" title="interface in org.apache.kafka.clients.producer">Callback</a></td>
+<td class="colLast">
+<div class="block">A callback interface that the user can implement to allow code to execute when the request is complete.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/kafka/clients/producer/Partitioner.html" title="interface in org.apache.kafka.clients.producer">Partitioner</a></td>
+<td class="colLast">
+<div class="block">Partitioner Interface</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/kafka/clients/producer/Producer.html" title="interface in org.apache.kafka.clients.producer">Producer</a>&lt;K,V&gt;</td>
+<td class="colLast">
+<div class="block">The interface for the <a href="../../../../../org/apache/kafka/clients/producer/KafkaProducer.html" title="class in org.apache.kafka.clients.producer"><code>KafkaProducer</code></a></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/kafka/clients/producer/ProducerInterceptor.html" title="interface in org.apache.kafka.clients.producer">ProducerInterceptor</a>&lt;K,V&gt;</td>
+<td class="colLast">
+<div class="block">A plugin interface that allows you to intercept (and possibly mutate) the records received by the producer before
+ they are published to the Kafka cluster.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/kafka/clients/producer/KafkaProducer.html" title="class in org.apache.kafka.clients.producer">KafkaProducer</a>&lt;K,V&gt;</td>
+<td class="colLast">
+<div class="block">A Kafka client that publishes records to the Kafka cluster.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/kafka/clients/producer/MockProducer.html" title="class in org.apache.kafka.clients.producer">MockProducer</a>&lt;K,V&gt;</td>
+<td class="colLast">
+<div class="block">A mock of the producer interface you can use for testing code that uses Kafka.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/kafka/clients/producer/ProducerConfig.html" title="class in org.apache.kafka.clients.producer">ProducerConfig</a></td>
+<td class="colLast">
+<div class="block">Configuration for the Kafka Producer.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/kafka/clients/producer/ProducerRecord.html" title="class in org.apache.kafka.clients.producer">ProducerRecord</a>&lt;K,V&gt;</td>
+<td class="colLast">
+<div class="block">A key/value pair to be sent to Kafka.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/kafka/clients/producer/RecordMetadata.html" title="class in org.apache.kafka.clients.producer">RecordMetadata</a></td>
+<td class="colLast">
+<div class="block">The metadata for a record that has been acknowledged by the server</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
+<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Exception</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/kafka/clients/producer/BufferExhaustedException.html" title="class in org.apache.kafka.clients.producer">BufferExhaustedException</a></td>
+<td class="colLast">
+<div class="block">This exception is thrown if the producer is in non-blocking mode and the rate of data production exceeds the rate at
+ which data can be sent for long enough for the allocated buffer to be exhausted.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= 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 class="navBarCell1Rev">Package</li>
+<li>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/kafka/clients/consumer/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/kafka/common/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kafka/clients/producer/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.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>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>