You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by li...@apache.org on 2017/06/08 05:10:07 UTC

[6/8] incubator-rocketmq-site git commit: Polish web site pages

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/assets/images/community/tree-logo.png
----------------------------------------------------------------------
diff --git a/content/assets/images/community/tree-logo.png b/content/assets/images/community/tree-logo.png
new file mode 100644
index 0000000..a168313
Binary files /dev/null and b/content/assets/images/community/tree-logo.png differ

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/assets/images/community/yhsoft-logo.png
----------------------------------------------------------------------
diff --git a/content/assets/images/community/yhsoft-logo.png b/content/assets/images/community/yhsoft-logo.png
new file mode 100644
index 0000000..9bfad50
Binary files /dev/null and b/content/assets/images/community/yhsoft-logo.png differ

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/assets/images/eco.png
----------------------------------------------------------------------
diff --git a/content/assets/images/eco.png b/content/assets/images/eco.png
new file mode 100644
index 0000000..64e58ad
Binary files /dev/null and b/content/assets/images/eco.png differ

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/collection-archive/index.html
----------------------------------------------------------------------
diff --git a/content/collection-archive/index.html b/content/collection-archive/index.html
index 967294a..ee12afb 100644
--- a/content/collection-archive/index.html
+++ b/content/collection-archive/index.html
@@ -403,7 +403,8 @@
       
     </h2>
     
-    <p class="archive__item-excerpt" itemprop="description">At early stages, we constructed our distributed messaging middleware based on ActiveMQ 5.x(prior to 5.3). Our multinational business uses it for async commun...</p>
+    <p class="archive__item-excerpt" itemprop="description">At early stages, we constructed our distributed messaging middleware based on ActiveMQ 5.x(prior to 5.3). Our 
+multinational business uses it for asynchronou...</p>
   </article>
 </div>
     
@@ -484,7 +485,7 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/pull-request/" rel="permalink">Best Practice in Pull Request
+        <a href="/docs/pull-request/" rel="permalink">How to manage Pull Request
 </a>
       
     </h2>
@@ -848,13 +849,35 @@ General
     
     <h2 class="archive__item-title" itemprop="headline">
       
+        <a href="/docs/create-pull-request/" rel="permalink">How to create Pull Request
+</a>
+      
+    </h2>
+    
+    <p class="archive__item-excerpt" itemprop="description">This page guides you through the pull request creation process.
+
+</p>
+  </article>
+</div>
+    
+  
+    
+      
+
+
+
+<div class="list__item">
+  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
         <a href="/docs/best-practice-namesvr/" rel="permalink">Best Practice For NameServer
 </a>
       
     </h2>
     
     <p class="archive__item-excerpt" itemprop="description">In Apache RocketMQ, name servers are designed to coordinate each component of the distributed system
-and fulfill much of this responsibility through managing...</p>
+and the coordination is mainly achieved through managing...</p>
   </article>
 </div>
     

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/community/index.html
----------------------------------------------------------------------
diff --git a/content/community/index.html b/content/community/index.html
index fccad28..d996c59 100644
--- a/content/community/index.html
+++ b/content/community/index.html
@@ -204,7 +204,7 @@
 
 <h1 id="ecosystem">Ecosystem</h1>
 
-<p>TODO</p>
+<p><img src="/assets/images/eco.png" alt="" /></p>
 
 
     </section>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/customer/index.html
----------------------------------------------------------------------
diff --git a/content/customer/index.html b/content/customer/index.html
index 68bf020..cab3538 100644
--- a/content/customer/index.html
+++ b/content/customer/index.html
@@ -423,6 +423,54 @@
 
 </div>
 
+<div class="feature__wrapper">
+
+  
+
+    
+
+    <div class="feature__item">
+      <div class="archive__item">
+        
+          <div class="archive__item-teaser">
+            <img src="/assets/images/community/tree-logo.png" alt="Tree Finance Group" />
+          </div>
+        
+
+        <div class="archive__item-body">
+          
+
+          
+
+          
+        </div>
+      </div>
+    </div>
+  
+
+    
+
+    <div class="feature__item">
+      <div class="archive__item">
+        
+          <div class="archive__item-teaser">
+            <img src="/assets/images/community/yhsoft-logo.png" alt="YH software Group" />
+          </div>
+        
+
+        <div class="archive__item-body">
+          
+
+          
+
+          
+        </div>
+      </div>
+    </div>
+  
+
+</div>
+
     </section>
   </article>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/batch-example/index.html
----------------------------------------------------------------------
diff --git a/content/docs/batch-example/index.html b/content/docs/batch-example/index.html
index da410d2..8e2ddf8 100644
--- a/content/docs/batch-example/index.html
+++ b/content/docs/batch-example/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-08T11:24:44+08:00">
+  <meta property="article:published_time" content="2017-06-08T13:09:18+08:00">
 
 
 
@@ -241,6 +241,14 @@
 
             <li><a href="/docs/filter-by-sql92-example/" class="">Filter Example</a></li>
           
+            
+            
+
+            
+            
+
+            <li><a href="/docs/faq/" class="">FAQ</a></li>
+          
         </ul>
         
       </li>
@@ -303,7 +311,7 @@
             
             
 
-            <li><a href="/docs/pull-request/" class="">Pull Request</a></li>
+            <li><a href="/docs/pull-request/" class="">Manage Pull Request</a></li>
           
             
             
@@ -408,17 +416,6 @@
         
       </li>
     
-      <li>
-        
-          
-          
-
-          <a href="/docs/faq/"><span class="nav__sub-title">FAQ</span></a>
-        
-
-        
-      </li>
-    
   </ul>
 </nav>
     
@@ -455,15 +452,15 @@
   </nav>
 </aside>
 
-<h3 id="why-batch">Why batch?</h3>
+<h4 id="why-batch">Why batch?</h4>
 <p>Sending messages in batch improves performance of delivering small messages.</p>
 
-<h3 id="usage-constraints">Usage constraints</h3>
+<h4 id="usage-constraints">Usage constraints</h4>
 <p>Messages of the same batch should have: same topic, same waitStoreMsgOK and no schedule support.</p>
 
 <p>Besides, the total size of the messages in one batch should be no more than 1MiB.</p>
 
-<h3 id="how-to-use-batch">How to use batch</h3>
+<h4 id="how-to-use-batch">How to use batch</h4>
 <p>If you just send messages of no more than 1MiB at a time, it is easy to use batch:</p>
 
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">String</span> <span class="n">topic</span> <span class="o">=</span> <span class="s">"BatchTest"</span><span class="o">;</span>
@@ -480,7 +477,7 @@
     
 </code></pre>
 </div>
-<h3 id="split-into-lists">Split into lists</h3>
+<h4 id="split-into-lists">Split into lists</h4>
 <p>The complexity only grow when you send large batch and you may not sure if it exceeds the size limit (1MiB).</p>
 
 <p>At this time, you’d better split the lists:</p>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/best-practice-broker/index.html
----------------------------------------------------------------------
diff --git a/content/docs/best-practice-broker/index.html b/content/docs/best-practice-broker/index.html
index 15090df..c3e391c 100644
--- a/content/docs/best-practice-broker/index.html
+++ b/content/docs/best-practice-broker/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-08T11:24:44+08:00">
+  <meta property="article:published_time" content="2017-06-08T13:09:18+08:00">
 
 
 
@@ -241,6 +241,14 @@
 
             <li><a href="/docs/filter-by-sql92-example/" class="">Filter Example</a></li>
           
+            
+            
+
+            
+            
+
+            <li><a href="/docs/faq/" class="">FAQ</a></li>
+          
         </ul>
         
       </li>
@@ -303,7 +311,7 @@
             
             
 
-            <li><a href="/docs/pull-request/" class="">Pull Request</a></li>
+            <li><a href="/docs/pull-request/" class="">Manage Pull Request</a></li>
           
             
             
@@ -408,17 +416,6 @@
         
       </li>
     
-      <li>
-        
-          
-          
-
-          <a href="/docs/faq/"><span class="nav__sub-title">FAQ</span></a>
-        
-
-        
-      </li>
-    
   </ul>
 </nav>
     

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/best-practice-consumer/index.html
----------------------------------------------------------------------
diff --git a/content/docs/best-practice-consumer/index.html b/content/docs/best-practice-consumer/index.html
index 8d2e29c..a3ad8c8 100644
--- a/content/docs/best-practice-consumer/index.html
+++ b/content/docs/best-practice-consumer/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-08T11:24:44+08:00">
+  <meta property="article:published_time" content="2017-06-08T13:09:18+08:00">
 
 
 
@@ -241,6 +241,14 @@
 
             <li><a href="/docs/filter-by-sql92-example/" class="">Filter Example</a></li>
           
+            
+            
+
+            
+            
+
+            <li><a href="/docs/faq/" class="">FAQ</a></li>
+          
         </ul>
         
       </li>
@@ -303,7 +311,7 @@
             
             
 
-            <li><a href="/docs/pull-request/" class="">Pull Request</a></li>
+            <li><a href="/docs/pull-request/" class="">Manage Pull Request</a></li>
           
             
             
@@ -408,17 +416,6 @@
         
       </li>
     
-      <li>
-        
-          
-          
-
-          <a href="/docs/faq/"><span class="nav__sub-title">FAQ</span></a>
-        
-
-        
-      </li>
-    
   </ul>
 </nav>
     
@@ -464,25 +461,25 @@
   </nav>
 </aside>
 <h2 id="consumer-group-and-subscriptions">Consumer Group and Subscriptions</h2>
-<p>The first thing you should be aware of is that different Consumer Group can consume the same topic independently, each of the group will have their own consuming offsets. 
-And make sure each Consumer within the same Group to subscribe the same topics.</p>
+<p>The first thing you should be aware of is that different Consumer Group can consume the same topic independently, and each of them will have their own consuming offsets.
+Please make sure each Consumer within the same Group to subscribe the same topics.</p>
 <h2 id="messagelistener">MessageListener</h2>
 <h3 id="orderly">Orderly</h3>
-<p>The Consumer will lock each MessageQueue to make sure it is consumed one by one orderly. This will cause performance loss, but it is useful when you are care about the order of the messages.
-It is not recommended to throw exception, you can return ConsumeOrderlyStatus.SUSPEND_CURRENT_QUEUE_A_MOMENT instead.</p>
+<p>The Consumer will lock each MessageQueue to make sure it is consumed one by one in order. This will cause a performance loss, but it is useful when you care about the order of the messages.
+It is not recommended to throw exceptions, you can return ConsumeOrderlyStatus.SUSPEND_CURRENT_QUEUE_A_MOMENT instead.</p>
 <h3 id="concurrently">Concurrently</h3>
-<p>As the name tells, the Consumer will consume the messages concurrently. It is recommended to use this for achieving good performance.
-It is not recommended to throw exception, you can return ConsumeConcurrentlyStatus.RECONSUME_LATER instead.</p>
+<p>As the name tells, the Consumer will consume the messages concurrently. It is recommended to use this for good performance.
+It is not recommended to throw exceptions, you can return ConsumeConcurrentlyStatus.RECONSUME_LATER instead.</p>
 <h3 id="consume-status">Consume Status</h3>
 <p>For MessageListenerConcurrently, you can return RECONSUME_LATER to tell the consumer that you can not consume it right now and want to reconsume it later. Then you can continue to consume other messages. 
-For MessageListenerOrderly, as that you care about the order, so you can not jump over the message, but you can return SUSPEND_CURRENT_QUEUE_A_MOMENT to tell the consumer to hold on for a moment.</p>
+For MessageListenerOrderly, because you care about the order, you can not jump over the message, but you can return SUSPEND_CURRENT_QUEUE_A_MOMENT to tell the consumer to wait for a moment.</p>
 <h3 id="blocking">Blocking</h3>
-<p>It is not recommend to block the Listener, for in return it will block the thread pool, and finally the consuming process may get stuck.</p>
+<p>It is not recommend to block the Listener, because it will block the thread pool, and eventually may stop the consuming process.</p>
 <h2 id="thread-number">Thread Number</h2>
-<p>The consumer use a ThreadPoolExecutor to process consuming internally. So you can tune it by using setConsumeThreadMin or setConsumeThreadMax.</p>
+<p>The consumer use a ThreadPoolExecutor to process consuming internally, so you can change it by setting setConsumeThreadMin or setConsumeThreadMax.</p>
 <h2 id="consumefromwhere">ConsumeFromWhere</h2>
-<p>When a new Consumer Group is established, it will need to decide whether it need to consume the historical messages which had already existed in the Broker. 
-CONSUME_FROM_LAST_OFFSET will ignore the historical messages, and consume any newly produced.
+<p>When a new Consumer Group is established, it will need to decide whether it needs to consume the historical messages which had already existed in the Broker.
+CONSUME_FROM_LAST_OFFSET will ignore the historical messages, and consume anything produced after that.
 CONSUME_FROM_FIRST_OFFSET will consume every message existed in the Broker.
 You can also use CONSUME_FROM_TIMESTAMP to consume messages produced after the specified timestamp.</p>
 <h2 id="duplication">Duplication</h2>
@@ -492,7 +489,7 @@ You can also use CONSUME_FROM_TIMESTAMP to consume messages produced after the s
   <li>Consumer shutdown with some offsets not updated to the Broker in time.</li>
 </ul>
 
-<p>So you may need to do some external work to handle this if your application cannot tolerate. For example, you may check the primary key of your DB.</p>
+<p>So you may need to do some external work to handle this if your application cannot tolerate duplication. For example, you may check the primary key of your DB.</p>
 
 
         
@@ -530,7 +527,7 @@ You can also use CONSUME_FROM_TIMESTAMP to consume messages produced after the s
 ">Previous</a>
     
     
-      <a href="/docs/best-practice-namesvr/" class="pagination--pager" title="Best Practice For NameServer
+      <a href="/docs/create-pull-request/" class="pagination--pager" title="How to create Pull Request
 ">Next</a>
     
   </nav>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/best-practice-namesvr/index.html
----------------------------------------------------------------------
diff --git a/content/docs/best-practice-namesvr/index.html b/content/docs/best-practice-namesvr/index.html
index 52075fe..eb9db80 100644
--- a/content/docs/best-practice-namesvr/index.html
+++ b/content/docs/best-practice-namesvr/index.html
@@ -18,7 +18,7 @@
 
 
 
-<meta name="description" content="In Apache RocketMQ, name servers are designed to coordinate each component of the distributed systemand fulfill much of this responsibility through managing topic route information.">
+<meta name="description" content="In Apache RocketMQ, name servers are designed to coordinate each component of the distributed systemand the coordination is mainly achieved through managing topic routing information.">
 
 
 
@@ -30,13 +30,13 @@
 
 
 
-  <meta property="og:description" content="In Apache RocketMQ, name servers are designed to coordinate each component of the distributed systemand fulfill much of this responsibility through managing topic route information.">
+  <meta property="og:description" content="In Apache RocketMQ, name servers are designed to coordinate each component of the distributed systemand the coordination is mainly achieved through managing topic routing information.">
 
 
 
   <meta name="twitter:site" content="@ApacheRocketMQ">
   <meta name="twitter:title" content="Best Practice For NameServer">
-  <meta name="twitter:description" content="In Apache RocketMQ, name servers are designed to coordinate each component of the distributed systemand fulfill much of this responsibility through managing topic route information.">
+  <meta name="twitter:description" content="In Apache RocketMQ, name servers are designed to coordinate each component of the distributed systemand the coordination is mainly achieved through managing topic routing information.">
   <meta name="twitter:url" content="">
 
   
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-08T11:24:44+08:00">
+  <meta property="article:published_time" content="2017-06-08T13:09:18+08:00">
 
 
 
@@ -241,6 +241,14 @@
 
             <li><a href="/docs/filter-by-sql92-example/" class="">Filter Example</a></li>
           
+            
+            
+
+            
+            
+
+            <li><a href="/docs/faq/" class="">FAQ</a></li>
+          
         </ul>
         
       </li>
@@ -303,7 +311,7 @@
             
             
 
-            <li><a href="/docs/pull-request/" class="">Pull Request</a></li>
+            <li><a href="/docs/pull-request/" class="">Manage Pull Request</a></li>
           
             
             
@@ -408,17 +416,6 @@
         
       </li>
     
-      <li>
-        
-          
-          
-
-          <a href="/docs/faq/"><span class="nav__sub-title">FAQ</span></a>
-        
-
-        
-      </li>
-    
   </ul>
 </nav>
     
@@ -428,7 +425,7 @@
 
   <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
     <meta itemprop="headline" content="Best Practice For NameServer">
-    <meta itemprop="description" content="In Apache RocketMQ, name servers are designed to coordinate each component of the distributed systemand fulfill much of this responsibility through managing topic route information.">
+    <meta itemprop="description" content="In Apache RocketMQ, name servers are designed to coordinate each component of the distributed systemand the coordination is mainly achieved through managing topic routing information.">
     <meta itemprop="datePublished" content="June 08, 2017">
     <meta itemprop="dateModified" content="December 24, 2016">
 
@@ -443,7 +440,7 @@
 
       <section class="page__content" itemprop="text">
         <p>In Apache RocketMQ, name servers are designed to coordinate each component of the distributed system
-and fulfill much of this responsibility through managing topic route information.</p>
+and the coordination is mainly achieved through managing topic routing information.</p>
 
 <aside class="sidebar__right">
 <nav class="toc">
@@ -459,9 +456,9 @@ and fulfill much of this responsibility through managing topic route information
   </nav>
 </aside>
 
-<p>The management, roughly speaking, consists two parts:</p>
+<p>Management consists of two parts:</p>
 <ul>
-  <li>Brokers periodically renew meta data, including topics they have, which are kept in every name servers.</li>
+  <li>Brokers periodically renew meta data kept in every name server.</li>
   <li>Name servers are serving clients, including producers, consumers and command line clients with the latest routing information.</li>
 </ul>
 
@@ -470,9 +467,9 @@ In Apache RocketMQ, this can be done in four ways.</p>
 
 <h2 id="programmatic-way">Programmatic Way</h2>
 
-<p>For broker, we may specify <code class="highlighter-rouge">namesrvAddr=name-server-ip1:port;name-server-ip2:port</code> in broker configuration file.</p>
+<p>For brokers, we can specify <code class="highlighter-rouge">namesrvAddr=name-server-ip1:port;name-server-ip2:port</code> in broker configuration file.</p>
 
-<p>For producers and consumers, we may feed name server address list to them as follows:</p>
+<p>For producers and consumers, we can feed name server address list to them as follows:</p>
 
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">DefaultMQProducer</span> <span class="n">producer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DefaultMQProducer</span><span class="o">(</span><span class="s">"please_rename_unique_group_name"</span><span class="o">);</span>
 <span class="n">producer</span><span class="o">.</span><span class="na">setNamesrvAddr</span><span class="o">(</span><span class="s">"name-server1-ip:port;name-server2-ip:port"</span><span class="o">);</span>
@@ -482,17 +479,17 @@ In Apache RocketMQ, this can be done in four ways.</p>
 </code></pre>
 </div>
 
-<p>If you use admin command line from shell, you may specify this way:</p>
+<p>If you use admin command line from shell, you can also specify this way:</p>
 
-<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">sh</span> <span class="n">mqadmin</span> <span class="n">command</span><span class="o">-</span><span class="n">name</span> <span class="o">-</span><span class="n">n</span> <span class="n">name</span><span class="o">-</span><span class="n">server</span><span class="o">-</span><span class="nl">ip1:</span><span class="n">port</span><span class="o">;</span><span class="n">name</span><span class="o">-</span><span class="n">server</span><span class="o">-</span><span class="nl">ip2:</span><span class="n">port</span> <span class="o">-</span><span class="n">X</span> <span class="n">OTHER</span><span class="o">-</span><span class="n">OPTION</span>
+<div class="language-bash highlighter-rouge"><pre class="highlight"><code>sh mqadmin <span class="nb">command</span>-name -n name-server-ip1:port;name-server-ip2:port -X OTHER-OPTION
 </code></pre>
 </div>
 
-<p>a simple example is:
+<p>A simple example is:
 <code class="highlighter-rouge">sh mqadmin -n localhost:9876 clusterList</code>
 assuming to query cluster info on the name server node.</p>
 
-<p>If integrating admin tool into your own dashboard, you may</p>
+<p>If you have integrated admin tool into your own dashboard, you can:</p>
 
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">DefaultMQAdminExt</span> <span class="n">defaultMQAdminExt</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DefaultMQAdminExt</span><span class="o">(</span><span class="s">"please_rename_unique_group_name"</span><span class="o">);</span>
 <span class="n">defaultMQAdminExt</span><span class="o">.</span><span class="na">setNamesrvAddr</span><span class="o">(</span><span class="s">"name-server1-ip:port;name-server2-ip:port"</span><span class="o">);</span>
@@ -514,12 +511,12 @@ assuming to query cluster info on the name server node.</p>
  the following HTTP end point to acquire and update name server address list every two minutes with initial delay of
  ten seconds.</p>
 
-<p>On default, the end point is:</p>
+<p>By default, the end point is:</p>
 
 <p><code class="highlighter-rouge">http://jmenv.tbsite.net:8080/rocketmq/nsaddr</code></p>
 
-<p>You may override <code class="highlighter-rouge">jmenv.tbsite.net</code> by this java option: <code class="highlighter-rouge">rocketmq.namesrv.domain</code>,
-You may also override <code class="highlighter-rouge">nsaddr</code> part by this java option: <code class="highlighter-rouge">rocketmq.namesrv.domain.subgroup</code></p>
+<p>You may override <code class="highlighter-rouge">jmenv.tbsite.net</code> using this Java option: <code class="highlighter-rouge">rocketmq.namesrv.domain</code>,
+You may also override <code class="highlighter-rouge">nsaddr</code> part using this Java option: <code class="highlighter-rouge">rocketmq.namesrv.domain.subgroup</code></p>
 
 <p>If you are running Apache RocketMQ in production, this method is recommended because it gives you maximum flexibility
  – you can dynamically add or remove name server nodes without necessity of rebooting your brokers and clients 
@@ -527,7 +524,7 @@ You may also override <code class="highlighter-rouge">nsaddr</code> part by this
 
 <h2 id="priority">Priority</h2>
 
-<p>Methods introduced first take precedence over the latter, namely, <br />
+<p>Methods introduced first take precedence over the latter ones: <br />
 <code class="highlighter-rouge">Programmatic Way &gt; Java Options &gt; Environment Variable &gt; HTTP Endpoint</code></p>
 
 
@@ -562,7 +559,7 @@ You may also override <code class="highlighter-rouge">nsaddr</code> part by this
       
   <nav class="pagination">
     
-      <a href="/docs/best-practice-consumer/" class="pagination--pager" title="Best Practice For Consumer
+      <a href="/docs/create-pull-request/" class="pagination--pager" title="How to create Pull Request
 ">Previous</a>
     
     

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/best-practice-producer/index.html
----------------------------------------------------------------------
diff --git a/content/docs/best-practice-producer/index.html b/content/docs/best-practice-producer/index.html
index 698819f..f3ba386 100644
--- a/content/docs/best-practice-producer/index.html
+++ b/content/docs/best-practice-producer/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-08T11:24:44+08:00">
+  <meta property="article:published_time" content="2017-06-08T13:09:18+08:00">
 
 
 
@@ -241,6 +241,14 @@
 
             <li><a href="/docs/filter-by-sql92-example/" class="">Filter Example</a></li>
           
+            
+            
+
+            
+            
+
+            <li><a href="/docs/faq/" class="">FAQ</a></li>
+          
         </ul>
         
       </li>
@@ -303,7 +311,7 @@
             
             
 
-            <li><a href="/docs/pull-request/" class="">Pull Request</a></li>
+            <li><a href="/docs/pull-request/" class="">Manage Pull Request</a></li>
           
             
             
@@ -408,17 +416,6 @@
         
       </li>
     
-      <li>
-        
-          
-          
-
-          <a href="/docs/faq/"><span class="nav__sub-title">FAQ</span></a>
-        
-
-        
-      </li>
-    
   </ul>
 </nav>
     
@@ -468,38 +465,38 @@
 </aside>
 
 <h2 id="sendstatus">SendStatus</h2>
-<p>When sending a message, you will get SendResult and it will contain the SendStatus. Firstly, we assume that Message’s isWaitStoreMsgOK=true(default is true). If not, we will always get SEND_OK if no exception is thrown.
-Follow are the descriptions about each status.</p>
+<p>When sending a message, you will get SendResult which contains SendStatus. Firstly, we assume that Message’s isWaitStoreMsgOK=true(default is true). If not, we will always get SEND_OK if no exception is thrown.
+Below is a list of descriptions about each status:</p>
 <h3 id="flush_disk_timeout">FLUSH_DISK_TIMEOUT</h3>
-<p>If the Broker set MessageStoreConfig’s FlushDiskType=SYNC_FLUSH(default is ASYNC_FLUSH), and the Broker dose not finish flushing disk within MessageStoreConfig’s syncFlushTimeout(default is 5 secs), you will get such status.</p>
+<p>If the Broker set MessageStoreConfig’s FlushDiskType=SYNC_FLUSH(default is ASYNC_FLUSH), and the Broker doesn’t finish flushing the disk within MessageStoreConfig’s syncFlushTimeout(default is 5 secs), you will get this status.</p>
 <h3 id="flush_slave_timeout">FLUSH_SLAVE_TIMEOUT</h3>
-<p>If the Broker’s role is SYNC_MASTER(default is ASYNC_MASTER), and the slave Broker dose not finish synchronizing with the master within the MessageStoreConfig’s syncFlushTimeout(default is 5 secs), you will get such status.</p>
+<p>If the Broker’s role is SYNC_MASTER(default is ASYNC_MASTER), and the slave Broker doesn’t finish synchronizing with the master within the MessageStoreConfig’s syncFlushTimeout(default is 5 secs), you will get this status.</p>
 <h3 id="slave_not_available">SLAVE_NOT_AVAILABLE</h3>
-<p>If the Broker’s role is SYNC_MASTER(default is ASYNC_MASTER), but no slave Broker is configured, you will get such status.</p>
+<p>If the Broker’s role is SYNC_MASTER(default is ASYNC_MASTER), but no slave Broker is configured, you will get this status.</p>
 <h3 id="send_ok">SEND_OK</h3>
-<p>You should be aware that SEND_OK does not mean it is reliable. If you cannot tolerate message missing, you should also enable SYNC_MASTER or SYNC_FLUSH.</p>
+<p>SEND_OK does not mean it is reliable. To make sure no message would be lost, you should also enable SYNC_MASTER or SYNC_FLUSH.</p>
 <h3 id="duplication-or-missing">Duplication or Missing</h3>
-<p>If you get FLUSH_DISK_TIMEOUT, FLUSH_SLAVE_TIMEOUT and the Broker happens to shutdown right the moment, you may get your message missing.
-At this time, you have two choices, one is letting it go, which may get message missing; another is resending, which may get message duplication.
-Often we suggest resend and make a way to handle the duplication removal when consuming. Unless you feel it does not matter when some messages are missed.
-But be ware that resending has no use when you get SLAVE_NOT_AVAILABLE, you’d better keep the scene and send some alerts to the Cluster Manager.</p>
+<p>If you get FLUSH_DISK_TIMEOUT, FLUSH_SLAVE_TIMEOUT and the Broker happens to shutdown right the moment, you can find your message missing.
+At this time, you have two choices, one is to let it go, which may cause this message to be lost; another is to resend the message, which may get message duplication.
+Often we suggest resend and find a way to handle the duplication removal when consuming. Unless you feel it doesn’t matter when some messages are lost.
+But keep in mind that resending is useless when you get SLAVE_NOT_AVAILABLE. If this happens, you should keep the scene and alert the Cluster Manager.</p>
 <h2 id="timeout">Timeout</h2>
-<p>The Client send requests to Broker, and wait the responses, but if the max wait time is elapsed and no response is return, the Client will throw a RemotingTimeoutException.
-The default wait time is 3 seconds.You can also pass timeout argument using send(msg, timeout) instead of send(msg).
-Note that we do not suggest the value to be too small, for the Broker need some time to flush disk or synchronize with slave. Also the value may have little effect if it is too bigger than syncFlushTimeout for Broker may return a response with FLUSH_SLAVE_TIMEOUT or FLUSH_SLAVE_TIMEOUT before the timeout.</p>
+<p>The Client sends requests to Broker, and wait for the responses, but if the max wait time has elapsed and no response is returned, the Client will throw a RemotingTimeoutException.
+The default wait time is 3 seconds. You can also pass timeout argument using send(msg, timeout) instead of send(msg).
+Note that we do not suggest the wait time to be too small, as the Broker needs some time to flush the disk or synchronize with slaves. Also the value may have little effect if it exceeds syncFlushTimeout by a lot as Broker may return a response with FLUSH_SLAVE_TIMEOUT or FLUSH_SLAVE_TIMEOUT before the timeout.</p>
 <h2 id="message-size">Message Size</h2>
-<p>We suggest the message should be no more than 512K.</p>
+<p>We suggest the size of message should be no more than 512K.</p>
 <h2 id="async-sending">Async Sending</h2>
-<p>Default send(msg) will block until the response is return. So if you care about performance, we suggest you use send(msg, callback) which will act in a async way.</p>
+<p>Default send(msg) will block until the response is returned. So if you care about performance, we suggest you use send(msg, callback) which will act in the async way.</p>
 <h2 id="producer-group">Producer Group</h2>
-<p>Normally, the producer group has no effects. But if you are involved in  transaction, you should pay attention to it. 
-In default, you can only create only one producer with the same producer group in the same JVM. Usually, this is enough.</p>
+<p>Normally, the producer group has no effects. But if you are involved in a transaction, you should pay attention to it.
+By default, you can only create only one producer with the same producer group in the same JVM, which is usually enough.</p>
 <h2 id="thread-safety">Thread Safety</h2>
-<p>The producer is thread-safe, you can just use it in your business logic.</p>
+<p>The producer is thread-safe, you can just use it in your business solution.</p>
 <h2 id="performance">Performance</h2>
-<p>If you want more than one producer in one JVM, maybe for big data processing, we suggest you:</p>
+<p>If you want more than one producer in one JVM for big data processing, we suggest:</p>
 <ul>
-  <li>use async sending with a few producers(3~5 is enough)</li>
+  <li>use async sending with a few producers (3~5 is enough)</li>
   <li>setInstanceName for each producer</li>
 </ul>
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/broadcast-example/index.html
----------------------------------------------------------------------
diff --git a/content/docs/broadcast-example/index.html b/content/docs/broadcast-example/index.html
index 3bc9f69..9885b5a 100644
--- a/content/docs/broadcast-example/index.html
+++ b/content/docs/broadcast-example/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-08T11:24:44+08:00">
+  <meta property="article:published_time" content="2017-06-08T13:09:18+08:00">
 
 
 
@@ -241,6 +241,14 @@
 
             <li><a href="/docs/filter-by-sql92-example/" class="">Filter Example</a></li>
           
+            
+            
+
+            
+            
+
+            <li><a href="/docs/faq/" class="">FAQ</a></li>
+          
         </ul>
         
       </li>
@@ -303,7 +311,7 @@
             
             
 
-            <li><a href="/docs/pull-request/" class="">Pull Request</a></li>
+            <li><a href="/docs/pull-request/" class="">Manage Pull Request</a></li>
           
             
             
@@ -408,17 +416,6 @@
         
       </li>
     
-      <li>
-        
-          
-          
-
-          <a href="/docs/faq/"><span class="nav__sub-title">FAQ</span></a>
-        
-
-        
-      </li>
-    
   </ul>
 </nav>
     
@@ -454,10 +451,10 @@
   </nav>
 </aside>
 
-<h3 id="what-is-broadcasting">What is broadcasting</h3>
+<h4 id="what-is-broadcasting">What is broadcasting</h4>
 <p>Broadcasting is sending a message to all subscribers of a topic. If you want all subscribers receive messages about a topic, broadcasting is a good choice.</p>
 
-<h3 id="producer-example">Producer example</h3>
+<h4 id="producer-example">Producer example</h4>
 
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">BroadcastProducer</span> <span class="o">{</span>
     <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
@@ -478,7 +475,7 @@
 </code></pre>
 </div>
 
-<h3 id="consumer-example">Consumer example</h3>
+<h4 id="consumer-example">Consumer example</h4>
 
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">BroadcastConsumer</span> <span class="o">{</span>
     <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/cli-admin-tool/index.html
----------------------------------------------------------------------
diff --git a/content/docs/cli-admin-tool/index.html b/content/docs/cli-admin-tool/index.html
index 54e84f2..09c4e24 100644
--- a/content/docs/cli-admin-tool/index.html
+++ b/content/docs/cli-admin-tool/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-08T11:24:44+08:00">
+  <meta property="article:published_time" content="2017-06-08T13:09:18+08:00">
 
 
 
@@ -241,6 +241,14 @@
 
             <li><a href="/docs/filter-by-sql92-example/" class="">Filter Example</a></li>
           
+            
+            
+
+            
+            
+
+            <li><a href="/docs/faq/" class="">FAQ</a></li>
+          
         </ul>
         
       </li>
@@ -303,7 +311,7 @@
             
             
 
-            <li><a href="/docs/pull-request/" class="">Pull Request</a></li>
+            <li><a href="/docs/pull-request/" class="">Manage Pull Request</a></li>
           
             
             
@@ -408,17 +416,6 @@
         
       </li>
     
-      <li>
-        
-          
-          
-
-          <a href="/docs/faq/"><span class="nav__sub-title">FAQ</span></a>
-        
-
-        
-      </li>
-    
   </ul>
 </nav>
     
@@ -463,15 +460,15 @@
 
 <h1 id="how-to-get-it">How To Get it</h1>
 
-<p>The admin tool is shipped along with RocketMQ. Either you download a pre-built binary version or build from source by yourself, you already have it.</p>
+<p>The admin tool is shipped along with RocketMQ. Whether you download a pre-built binary version or build from source by yourself, you have the tool with the package.</p>
 
-<p>In case you don’t have source code, the <a href="https://github.com/apache/incubator-rocketmq/tree/master/tools">rocketmq-tools module</a> contains its source code.</p>
+<p>If you want to look at the source code, please refer to <a href="https://github.com/apache/incubator-rocketmq/tree/master/tools">rocketmq-tools module</a></p>
 
 <h1 id="how-to-use">How to use</h1>
 
-<p>The Admin Tool is very easy to use. Here, for demonstration purpose, *nix environment is assumed.</p>
+<p>The Admin Tool is very user friendly. Here, for demonstration purpose, *nix environment is assumed.</p>
 
-<p>Change directory to ${PACKAGE}/bin, command <code class="highlighter-rouge">bash mqadmin</code>, you should see the following help menu pops out.</p>
+<p>Change directory to ${PACKAGE}/bin, command <code class="highlighter-rouge">bash mqadmin</code>, you should see the following help menu.</p>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>The most commonly used mqadmin commands are:
    updateTopic          Update or create topic
@@ -482,7 +479,7 @@
    updateTopicPerm      Update topic perm
    topicRoute           Examine topic route info
    topicStatus          Examine topic Status info
-   topicClusterList     get cluster info for topic
+   topicClusterList     Get cluster info for topic
    brokerStatus         Fetch broker runtime status data
    queryMsgById         Query Message by Id
    queryMsgByKey        Query Message by Key
@@ -490,13 +487,13 @@
    queryMsgByOffset     Query Message by offset
    queryMsgByUniqueKey  Query Message by Unique key
    printMsg             Print Message Detail
-   sendMsgStatus        send msg to broker.
+   sendMsgStatus        Send msg to broker.
    brokerConsumeStats   Fetch broker consume stats data
    producerConnection   Query producer's socket connection and client version
    consumerConnection   Query consumer's socket connection, client version and subscription
    consumerProgress     Query consumers's progress, speed
    consumerStatus       Query consumer's internal data structure
-   cloneGroupOffset     clone offset from other group.
+   cloneGroupOffset     Clone offset from other group.
    clusterList          List all of clusters
    topicList            Fetch all topic list from name server
    updateKvConfig       Create or update KV config.
@@ -510,7 +507,7 @@
    statsAll             Topic and Consumer tps stats
    syncDocs             Synchronize wiki and issue to github.com
    allocateMQ           Allocate MQ
-   checkMsgSendRT       check message send response time
+   checkMsgSendRT       Check message send response time
    clusterRT            List All clusters Message Send RT
 
 See 'mqadmin help &lt;command&gt;' for more information on a specific command.

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/cluster-deployment/index.html
----------------------------------------------------------------------
diff --git a/content/docs/cluster-deployment/index.html b/content/docs/cluster-deployment/index.html
index e520172..e419585 100644
--- a/content/docs/cluster-deployment/index.html
+++ b/content/docs/cluster-deployment/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-08T11:24:44+08:00">
+  <meta property="article:published_time" content="2017-06-08T13:09:18+08:00">
 
 
 
@@ -241,6 +241,14 @@
 
             <li><a href="/docs/filter-by-sql92-example/" class="">Filter Example</a></li>
           
+            
+            
+
+            
+            
+
+            <li><a href="/docs/faq/" class="">FAQ</a></li>
+          
         </ul>
         
       </li>
@@ -303,7 +311,7 @@
             
             
 
-            <li><a href="/docs/pull-request/" class="">Pull Request</a></li>
+            <li><a href="/docs/pull-request/" class="">Manage Pull Request</a></li>
           
             
             
@@ -408,17 +416,6 @@
         
       </li>
     
-      <li>
-        
-          
-          
-
-          <a href="/docs/faq/"><span class="nav__sub-title">FAQ</span></a>
-        
-
-        
-      </li>
-    
   </ul>
 </nav>
     
@@ -475,7 +472,7 @@
 
 <h1 id="broker">Broker</h1>
 
-<p>Brokers can be divided into two categories according to their roles: master and slave. Master brokers can read and write while slave brokers can only read messages replicated from master. Master brokers have brokerId=0; brokerId of slave is non-zero.</p>
+<p>Brokers can be divided into two categories according to their roles: master and slave. Master brokers can read and write while slave brokers can only read messages replicated from master. Master brokers have brokerID=0; brokerID of slave is non-zero.</p>
 
 <p>Brokers may also be grouped by the brokerName property. Slave brokers find their master through brokerName. One master broker along with zero, one or multiple slave brokers is called a broker set.</p>
 
@@ -570,7 +567,7 @@ Assuming binary RocketMQ is at <code class="highlighter-rouge">/home/rocketmq/di
 ">Previous</a>
     
     
-      <a href="/docs/pull-request/" class="pagination--pager" title="Best Practice in Pull Request
+      <a href="/docs/pull-request/" class="pagination--pager" title="How to manage Pull Request
 ">Next</a>
     
   </nav>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/code-guidelines/index.html
----------------------------------------------------------------------
diff --git a/content/docs/code-guidelines/index.html b/content/docs/code-guidelines/index.html
index d3a8338..6c1ffc9 100644
--- a/content/docs/code-guidelines/index.html
+++ b/content/docs/code-guidelines/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-08T11:24:44+08:00">
+  <meta property="article:published_time" content="2017-06-08T13:09:18+08:00">
 
 
 
@@ -241,6 +241,14 @@
 
             <li><a href="/docs/filter-by-sql92-example/" class="">Filter Example</a></li>
           
+            
+            
+
+            
+            
+
+            <li><a href="/docs/faq/" class="">FAQ</a></li>
+          
         </ul>
         
       </li>
@@ -303,7 +311,7 @@
             
             
 
-            <li><a href="/docs/pull-request/" class="">Pull Request</a></li>
+            <li><a href="/docs/pull-request/" class="">Manage Pull Request</a></li>
           
             
             
@@ -408,17 +416,6 @@
         
       </li>
     
-      <li>
-        
-          
-          
-
-          <a href="/docs/faq/"><span class="nav__sub-title">FAQ</span></a>
-        
-
-        
-      </li>
-    
   </ul>
 </nav>
     
@@ -460,7 +457,7 @@
 </aside>
 
 <h1 id="introduction">Introduction</h1>
-<p>This document describes formatting rules and guidelines for software source code. Note that this document does not cover best programming practices or techniques. It is solely concentrating on source code formatting and conventions.</p>
+<p>This page describes formatting rules and guidelines for software source code.</p>
 
 <p>Studies have shown that 80% of development time is spent on software maintenance which involves software source code understanding, refactoring and support. Established and enforced code formatting rules and guidelines improve source code readability, promote team code ownership, allow engineers understand new code more quickly and thorough as well as simplify maintenance.</p>
 
@@ -511,7 +508,7 @@
       
   <nav class="pagination">
     
-      <a href="/docs/pull-request/" class="pagination--pager" title="Best Practice in Pull Request
+      <a href="/docs/pull-request/" class="pagination--pager" title="How to manage Pull Request
 ">Previous</a>
     
     

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/core-concept/index.html
----------------------------------------------------------------------
diff --git a/content/docs/core-concept/index.html b/content/docs/core-concept/index.html
index 86fb23d..03da58d 100644
--- a/content/docs/core-concept/index.html
+++ b/content/docs/core-concept/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-08T11:24:44+08:00">
+  <meta property="article:published_time" content="2017-06-08T13:09:18+08:00">
 
 
 
@@ -241,6 +241,14 @@
 
             <li><a href="/docs/filter-by-sql92-example/" class="">Filter Example</a></li>
           
+            
+            
+
+            
+            
+
+            <li><a href="/docs/faq/" class="">FAQ</a></li>
+          
         </ul>
         
       </li>
@@ -303,7 +311,7 @@
             
             
 
-            <li><a href="/docs/pull-request/" class="">Pull Request</a></li>
+            <li><a href="/docs/pull-request/" class="">Manage Pull Request</a></li>
           
             
             
@@ -408,17 +416,6 @@
         
       </li>
     
-      <li>
-        
-          
-          
-
-          <a href="/docs/faq/"><span class="nav__sub-title">FAQ</span></a>
-        
-
-        
-      </li>
-    
   </ul>
 </nav>
     
@@ -444,7 +441,7 @@
       <section class="page__content" itemprop="text">
         <p><img src="/assets/images/rmq-model.png" alt="RocketMQ model" /></p>
 
-<p>From the above model, we can look deeper into some topics about messaging system design:</p>
+<p>According to the above model, we can dig deeper into some topics about messaging system design:</p>
 
 <aside class="sidebar__right">
 <nav class="toc">
@@ -490,9 +487,9 @@
 
 <h2 id="producer-group">Producer Group</h2>
 
-<p>Producers of the same role are grouped together. A different producer instance of the same producer group may be contacted by a broker to commit or roll back a transaction in case the original producer crashed after starting the transaction.</p>
+<p>Producers of the same role are grouped together. A different producer instance of the same producer group may be contacted by a broker to commit or roll back a transaction in case the original producer crashed after the transaction.</p>
 
-<p><strong>Warning</strong>: Considering the provided producer is sufficiently powerful at sending messages, only one instance is allowed per producer group and process to avoid unnecessarily initializing of producer instances.</p>
+<p><strong>Warning</strong>: Considering the provided producer is sufficiently powerful at sending messages, only one instance is allowed per producer group to avoid unnecessary initialization of producer instances.</p>
 
 <h1 id="consumer">Consumer</h1>
 
@@ -504,7 +501,7 @@
 
 <h2 id="pushconsumer">PushConsumer</h2>
 
-<p>Push consumer, on the other hand, encapsulates message pulling, consuming progress maintaining and other effortful work inside, leaving a callback interface to end user to implement which will be executed on message arrival.</p>
+<p>Push consumer, on the other hand, encapsulates message pulling, consuming progress and maintaining other work inside, leaving a callback interface to end user to implement which will be executed on message arrival.</p>
 
 <h2 id="consumer-group">Consumer Group</h2>
 
@@ -512,31 +509,31 @@
 
 <p>Consumer Group is a great concept with which achieving goals of load-balance and fault-tolerance, in terms of message consuming, is super easy.</p>
 
-<p><strong>Warning</strong>: consumer instances of a consumer group <strong>must</strong> have exactly same topic subscription(s).</p>
+<p><strong>Warning</strong>: consumer instances of a consumer group <strong>must</strong> have exactly the same topic subscription(s).</p>
 
 <h1 id="topic">Topic</h1>
 
-<p>Topic is a category to which producers deliver messages and from which consumers pull messages. Topics have very loose relation with producers and consumers. Specifically, a topic may have zero, one or multiple producers that sends messages to it; conversely, a producer can sends messages of different topics. In consumer’s view, a topic may be subscribed by zero, one or multiple consumer groups; and a consumer group, in the same paradigm, may subscribe one or multiple topics as long as instances of this group keep their subscription consistent as emphasized in the previous section.</p>
+<p>Topic is a category in which producers deliver messages and consumers pull messages. Topics have very loose relationship with producers and consumers. Specifically, a topic may have zero, one or multiple producers that sends messages to it; conversely, a producer can send messages of different topics. In consumer’s perspective, a topic may be subscribed by zero, one or multiple consumer groups. And a consumer group, similarly, may subscribe to one or more topics as long as instances of this group keep their subscription consistent.</p>
 
 <h1 id="message">Message</h1>
 
-<p>Message is the envelope of your information to deliver. A message must be specified with a topic, which can be interpreted as address of your letter to mail to. A message may also have an optional tag set. Extra key-value pairs may also be included. For example, you may set a business key for your message and look up the message on broker server to diagnose issues during development.</p>
+<p>Message is the information to be delivered. A message must have a topic, which can be interpreted as address of your letter to mail to. A message may also have an optional tag and extra key-value pairs. For example, you may set a business key to your message and look up the message on a broker server to diagnose issues during development.</p>
 
 <h2 id="message-queue">Message Queue</h2>
 
-<p>Topic, internally, is logically partitioned into one or more sub-topics. We call these sub-topics “message queues”. This concept plays a major role in implementing valuable features, including fail-over, maximum concurrency, etc.</p>
+<p>Topic is partitioned into one or more sub-topics, “message queues”.</p>
 
 <h2 id="tag">Tag</h2>
 
-<p>Tag, which can be thought as sub-topic, provides an extra flexibility for user. Through introducing tag,  messages with different purposes from the same business module may have the same topic yet different tag. It would be helpful to keep your code clean and coherent.</p>
+<p>Tag, in other words sub-topic, provides extra flexibility to users. With tag, messages with different purposes from the same business module may have the same topic and different tag. Tags would be helpful to keep your code clean and coherent, and tags also can facilitate the query system RocketMQ provides.</p>
 
 <h2 id="broker">Broker</h2>
 
-<p>Broker is the major role of the RocketMQ system. It receives messages sent from producers, store them and being prepared to serve pull requests from consumers. It also stores message consuming related meta data, including consumer groups, consuming progress offsets and topic / queue info.</p>
+<p>Broker is a major component of the RocketMQ system. It receives messages sent from producers, store them and prepare to handle pull requests from consumers. It also stores message related meta data, including consumer groups, consuming progress offsets and topic / queue info.</p>
 
 <h1 id="name-server">Name Server</h1>
 
-<p>Name server serves as the routing information provider. Producer/Consumer clients look up topics to find broker list to read from and write to.</p>
+<p>Name server serves as the routing information provider. Producer/Consumer clients look up topics to find the corresponding broker list.</p>
 
 <h1 id="message-model">Message Model</h1>
 
@@ -565,7 +562,7 @@
   <li>Concurrently</li>
 </ul>
 
-<p>When consuming concurrently, maximum concurrency of message consuming is only limited by thread pool specified for each consumer client.</p>
+<p>When consuming messages concurrently, maximum concurrency of message consuming is only limited by thread pool specified for each consumer client.</p>
 
 <p><strong>Warn</strong>: Message order is no longer guaranteed in this mode.</p>
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/create-pull-request/index.html
----------------------------------------------------------------------
diff --git a/content/docs/create-pull-request/index.html b/content/docs/create-pull-request/index.html
new file mode 100644
index 0000000..0950624
--- /dev/null
+++ b/content/docs/create-pull-request/index.html
@@ -0,0 +1,705 @@
+<!doctype html>
+<html lang="en" class="no-js">
+  <head>
+    <meta charset="utf-8">
+
+<!-- begin SEO -->
+
+
+
+
+
+
+
+
+
+<title>How to create Pull Request - Apache RocketMQ</title>
+
+
+
+
+<meta name="description" content="This page guides you through the pull request creation process.">
+
+
+
+
+<meta property="og:locale" content="en">
+<meta property="og:site_name" content="Apache RocketMQ">
+<meta property="og:title" content="How to create Pull Request">
+
+
+
+
+  <meta property="og:description" content="This page guides you through the pull request creation process.">
+
+
+
+  <meta name="twitter:site" content="@ApacheRocketMQ">
+  <meta name="twitter:title" content="How to create Pull Request">
+  <meta name="twitter:description" content="This page guides you through the pull request creation process.">
+  <meta name="twitter:url" content="">
+
+  
+    <meta name="twitter:card" content="summary">
+    
+  
+
+  
+
+
+
+  
+
+  
+
+
+
+
+
+  <meta property="og:type" content="article">
+  <meta property="article:published_time" content="2017-06-08T13:09:18+08:00">
+
+
+
+
+
+
+
+
+  <script type="application/ld+json">
+    {
+      "@context" : "http://schema.org",
+      "@type" : "Person",
+      "name" : "Apache RocketMQ",
+      "url" : null,
+      "sameAs" : null
+    }
+  </script>
+
+
+
+  <meta name="google-site-verification" content="aand0XZkSGsziuC-UPD4ZJniFD0m0JhGx6820y2mAQY" />
+
+
+  <meta name="baidu-site-verification" content="wD06EbDRkQ" />
+
+
+
+
+<!-- end SEO -->
+
+
+<link href="/feed.xml" type="application/atom+xml" rel="alternate" title="Apache RocketMQ Feed">
+
+<!-- http://t.co/dKP3o1e -->
+<meta name="HandheldFriendly" content="True">
+<meta name="MobileOptimized" content="320">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<script>
+  document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
+</script>
+
+<!-- For all browsers -->
+<link rel="stylesheet" href="/assets/css/main.css">
+
+<meta http-equiv="cleartype" content="on">
+    <!-- start custom head snippets -->
+
+<!-- insert favicons. use http://realfavicongenerator.net/ -->
+
+<!-- end custom head snippets -->
+  </head>
+
+  <body class="layout--single">
+
+    <!--[if lt IE 9]>
+<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
+<![endif]-->
+    <div class="masthead">
+  <div class="masthead__inner-wrap">
+    <div class="masthead__menu">
+      <nav id="site-nav" class="greedy-nav">
+        <button><div class="navicon"></div></button>
+        <ul class="visible-links">
+          <li class="masthead__menu-item masthead__menu-item--lg"><a href="/">Apache RocketMQ</a></li>
+          
+            
+            <li class="masthead__menu-item"><a href="/docs/quick-start/">Documentation</a></li>
+          
+            
+            <li class="masthead__menu-item"><a href="/year-archive/">Blog</a></li>
+          
+            
+            <li class="masthead__menu-item"><a href="/community/">Community</a></li>
+          
+            
+            <li class="masthead__menu-item"><a href="/customer/">Customer</a></li>
+          
+            
+            <li class="masthead__menu-item"><a href="/about/team/">About</a></li>
+          
+        </ul>
+        <ul class="hidden-links hidden"></ul>
+      </nav>
+    </div>
+  </div>
+</div>
+
+    
+
+
+
+<div id="main" role="main">
+  
+  <div class="sidebar sticky">
+  
+  
+    
+      
+      
+      
+    
+    
+      
+
+<nav class="nav__list">
+  
+  <input id="ac-toc" name="accordion-toc" type="checkbox" />
+  <label for="ac-toc">Toggle Menu</label>
+  <ul class="nav__items">
+    
+      <li>
+        
+          <span class="nav__sub-title">User Guide</span>
+        
+
+        
+        <ul>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/simple-example/" class="">Simple Example</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/order-example/" class="">Order Example</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/broadcast-example/" class="">Broadcasting Example</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/schedule-example/" class="">Schedule Example</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/batch-example/" class="">Batch Example</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/filter-by-sql92-example/" class="">Filter Example</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/faq/" class="">FAQ</a></li>
+          
+        </ul>
+        
+      </li>
+    
+      <li>
+        
+          <span class="nav__sub-title">Deployment & Operations</span>
+        
+
+        
+        <ul>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/rmq-arc/" class="">Architecture</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/rmq-deployment/" class="">Deployment</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/cli-admin-tool/" class="">CLI Admin Tool</a></li>
+          
+        </ul>
+        
+      </li>
+    
+      <li>
+        
+          <span class="nav__sub-title">Contributor Guide</span>
+        
+
+        
+        <ul>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/code-guidelines/" class="">Code Guidelines</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/pull-request/" class="">Manage Pull Request</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/release-manual" class="">Release Manual</a></li>
+          
+        </ul>
+        
+      </li>
+    
+      <li>
+        
+          <span class="nav__sub-title">Best Practice</span>
+        
+
+        
+        <ul>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/core-concept/" class="">Core Concept</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/best-practice-broker/" class="">Broker</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/best-practice-producer/" class="">Producer</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/best-practice-consumer/" class="">Consumer</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/best-practice-namesvr/" class="">NameServer</a></li>
+          
+        </ul>
+        
+      </li>
+    
+      <li>
+        
+          <span class="nav__sub-title">Release Notes</span>
+        
+
+        
+        <ul>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/dowloading/releases/" class="">Download</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/release_notes/release-notes-4.0.0-incubating/" class="">4.0.0-incubating</a></li>
+          
+        </ul>
+        
+      </li>
+    
+      <li>
+        
+          
+          
+
+          <a href="/docs/roadmap/"><span class="nav__sub-title">RoadMap</span></a>
+        
+
+        
+      </li>
+    
+  </ul>
+</nav>
+    
+  
+  </div>
+
+
+  <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
+    <meta itemprop="headline" content="How to create Pull Request">
+    <meta itemprop="description" content="This page guides you through the pull request creation process.">
+    <meta itemprop="datePublished" content="June 08, 2017">
+    <meta itemprop="dateModified" content="December 24, 2016">
+
+    <div class="page__inner-wrap">
+      
+        <header>
+          <h1 class="page__title" itemprop="headline">How to create Pull Request
+</h1>
+          
+        </header>
+      
+
+      <section class="page__content" itemprop="text">
+        <p>This page guides you through the pull request creation process.</p>
+
+<aside class="sidebar__right">
+<nav class="toc">
+    <header><h4 class="nav__title"><i class="fa fa-file-text"></i> On This Page</h4></header>
+<ul class="toc__menu" id="markdown-toc">
+  <li><a href="#git-setup-for-contributors" id="markdown-toc-git-setup-for-contributors">Git setup for Contributors</a></li>
+  <li><a href="#git-setup-for-committers" id="markdown-toc-git-setup-for-committers">Git setup for Committers</a></li>
+  <li><a href="#do-some-work-on-the-branch" id="markdown-toc-do-some-work-on-the-branch">Do some work on the branch</a></li>
+  <li><a href="#how-to-create-a-pr-committers" id="markdown-toc-how-to-create-a-pr-committers">How to create a PR (committers)</a></li>
+  <li><a href="#how-to-create-a-pr-contributors" id="markdown-toc-how-to-create-a-pr-contributors">How to create a PR (contributors)</a></li>
+</ul>
+
+  </nav>
+</aside>
+
+<h1 id="git-setup-for-contributors">Git setup for Contributors</h1>
+<p>First of all, fork github’s <code class="highlighter-rouge">apache/incubator-rocketmq</code> to your own account on github and clone it as follows,</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>git clone https://github.com/&lt;your_github_name&gt;/incubator-rocketmq.git
+</code></pre>
+</div>
+
+<p>Cloning this locally will set up <code class="highlighter-rouge">origin</code> to point to your remote fork on github as the default remote.
+Now you can create your pull requests.</p>
+
+<p>You will need to update a local master sometimes (to merge to your development branches sometimes).
+For this, you have to add remote for RocketMQ mirror as follows,</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>git remote add upstream https://github.com/apache/incubator-rocketmq.git
+</code></pre>
+</div>
+
+<p>and update your local master via <code class="highlighter-rouge">git fetch</code> followed by <code class="highlighter-rouge">git rebase</code>, for instance:
+    git fetch upstream master
+    git rebase upstream/master</p>
+
+<h1 id="git-setup-for-committers">Git setup for Committers</h1>
+<p>In addition to contributors’ configurations, committers will have to attach the apache git repo:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>git remote add apache https://git-wip-us.apache.org/repos/asf/incubator-rocketmq.git
+</code></pre>
+</div>
+
+<p>To check your remote setup, issue</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>git remote -v
+</code></pre>
+</div>
+
+<p>You should see something like this:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>origin    https://github.com/&lt;your_github_name&gt;/incubator-rocketmq.git (fetch)
+origin    https://github.com/&lt;your_github_name&gt;/incubator-rocketmq.git (push)
+upstream  https://github.com/apache/incubator-rocketmq.git (fetch)
+upstream  https://github.com/apache/incubator-rocketmq.git (push)
+apache    https://git-wip-us.apache.org/repos/asf/incubator-rocketmq.git (fetch)
+apache    https://git-wip-us.apache.org/repos/asf/incubator-rocketmq.git (push)
+</code></pre>
+</div>
+
+<p>Now if you want to experiment with a branch everything, by default, points to your github account because ‘origin’ is default. You can work as normal using only github until you are ready to merge with the apache remote. Some conventions will integrate with Apache JIRA ticket numbers.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>git checkout -b ROCKETMQ-xxxx #xxxx typically is a JIRA ticket number
+</code></pre>
+</div>
+
+<p><em>To ensure the code quality of the master branch, all but minor changes should go through pull requests reviewed by peer committers.</em></p>
+
+<h1 id="do-some-work-on-the-branch">Do some work on the branch</h1>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>git commit -a -m "doing some work"
+git push origin ROCKETMQ-xxxx # notice pushing to **origin** not **apache**
+</code></pre>
+</div>
+
+<p>Once you are ready to commit to the apache remote you can merge and push them directly, otherwise always create a PR.</p>
+
+<h1 id="how-to-create-a-pr-committers">How to create a PR (committers)</h1>
+
+<p>Push your branch to Github:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>git checkout ROCKETMQ-xxxx
+git push origin ROCKETMQ-xxxx
+</code></pre>
+</div>
+
+<ol>
+  <li>
+    <p>Go to your ROCKETMQ-xxxx branch on Github. Since you forked it from Github’s apache/incubator-rocketmq. By default all PR will go to apache/master.</p>
+  </li>
+  <li>Click the green “Compare, review, and create pull request” button. You can edit the to and from for the PR if it isn’t correct. The “base fork” should be apache/incubator-rocketmq unless you are collaborating with one of the committers on the list. The “base” will be master. Don’t submit a PR to any other branches unless permitted by branch owner. The “head fork” will be your forked repo and the “compare” will be your ROCKETMQ-xxxx branch.</li>
+  <li>Click the “Create pull request” button and name the request “ROCKETMQ-xxxx” all caps. This will connect the comments of the PR to the mailing list and JIRA comments.</li>
+  <li>From now on the PR lives on github’s apache/incubator-rocketmq. You can use the commenting UI there.</li>
+  <li>If you are looking for a review or wanting to share with someone else please write a note in the comments and don’t worry about automated merging of your PR – you will have to do that later. The PR is tied to your branch so you can respond to comments, make fixes, and commit them from your local repo. They will appear on the PR page and be mirrored to JIRA and the mailing list.</li>
+  <li>When you are satisfied and want to push it to Apache’s remote repo, you can merge this PR.</li>
+</ol>
+
+<h1 id="how-to-create-a-pr-contributors">How to create a PR (contributors)</h1>
+<p>Before you create a pull request, make sure</p>
+<ol>
+  <li>A corresponding <a href="https://issues.apache.org/jira/browse/ROCKETMQ/">JIRA</a> issue is created and has a clear problem description.</li>
+  <li>Make sure you follow <a href="/docs/code-guidelines/">Coding Guidelines</a>.</li>
+  <li>You have unit tests for everything you are about to commit.</li>
+</ol>
+
+<p>For information about creating pull requests, please check <a href="https://help.github.com/articles/creating-a-pull-request/">GitHub PR docs</a>.</p>
+
+<p>Pull requests are made to <code class="highlighter-rouge">apache/incubator-rocketmq</code> repository on Github.
+In the Github UI you should pick the master branch as target of the PR. <br />
+You pull request will be reviewed and commented by committers, and issues can be discussed. When all reviewers are positive on the pull request, it will be merged.</p>
+
+        
+      </section>
+
+      <footer class="page__meta">
+        
+        
+
+
+        
+          <p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> Updated:</strong> <time datetime="2016-12-24">December 24, 2016</time></p>
+        
+      </footer>
+
+      <section class="page__share">
+  
+    <h4 class="page__share-title">Share on</h4>
+  
+
+  <a href="https://twitter.com/intent/tweet?via=ApacheRocketMQ&text=How to create Pull Request /docs/create-pull-request/" class="btn btn--twitter" title="Share on Twitter"><i class="fa fa-fw fa-twitter" aria-hidden="true"></i><span> Twitter</span></a>
+
+  <a href="https://www.facebook.com/sharer/sharer.php?u=/docs/create-pull-request/" class="btn btn--facebook" title="Share on Facebook"><i class="fa fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
+
+  <a href="https://plus.google.com/share?url=/docs/create-pull-request/" class="btn btn--google-plus" title="Share on Google Plus"><i class="fa fa-fw fa-google-plus" aria-hidden="true"></i><span> Google+</span></a>
+
+  <a href="https://www.linkedin.com/shareArticle?mini=true&url=/docs/create-pull-request/" class="btn btn--linkedin" title="Share on LinkedIn"><i class="fa fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
+</section>
+
+
+      
+  <nav class="pagination">
+    
+      <a href="/docs/best-practice-consumer/" class="pagination--pager" title="Best Practice For Consumer
+">Previous</a>
+    
+    
+      <a href="/docs/best-practice-namesvr/" class="pagination--pager" title="Best Practice For NameServer
+">Next</a>
+    
+  </nav>
+
+    </div>
+
+    
+      <div class="page__comments">
+  
+  
+    <h4 class="page__comments-title">Leave a Comment</h4>
+    <section id="disqus_thread"></section>
+  
+</div>
+    
+  </article>
+
+  
+  
+</div>
+
+    <div class="page__footer">
+      <footer>
+        <!-- start custom footer snippets -->
+
+<!-- end custom footer snippets -->
+        <style type="text/css">
+  div.columns   { float: left; margin-left: 10px;}
+  div.clear     { clear: both; } 
+</style>
+<div>
+  <div class="columns">
+    <a href="https://www.apache.org/"><img src="/assets/images/feather-small.gif" alt="Apache Software Foundation" style="height: 88px !important" /></a>
+  </div>
+  <div class="columns" style="width: 80%">
+    <div class="page__footer-follow">
+      <ul class="social-icons">
+        
+          <li><strong>Follow:</strong></li>
+        
+        
+          <li><a href="https://twitter.com/ApacheRocketMQ"><i class="fa fa-fw fa-twitter-square" aria-hidden="true"></i> Twitter</a></li>
+        
+        
+        
+          <li><a href="http://github.com/apache/incubator-rocketmq"><i class="fa fa-fw fa-github" aria-hidden="true"></i> GitHub</a></li>
+        
+        
+        <li><a href="/feed.xml"><i class="fa fa-fw fa-rss-square" aria-hidden="true"></i> Feed</a></li>
+      </ul>
+    </div>
+
+    <div class="page__footer-copyright">Copyright &copy; 2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</div>
+  </div>
+</div>
+<div class="clear"></div>
+      </footer>
+    </div>
+
+    <script src="/assets/js/main.min.js"></script>
+
+
+
+
+  <script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-89603173-1', 'auto');
+  ga('send', 'pageview');
+</script>
+
+<script>
+var _hmt = _hmt || [];
+(function() {
+  var hm = document.createElement("script");
+  hm.src = "https://hm.baidu.com/hm.js?36428f2b841d08e7405724cbf7f860d2";
+  var s = document.getElementsByTagName("script")[0]; 
+  s.parentNode.insertBefore(hm, s);
+})();
+</script>
+
+
+
+
+  
+  <script type="text/javascript">
+  	/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+  	var disqus_shortname = 'rocketmq';
+
+  	/* * * DON'T EDIT BELOW THIS LINE * * */
+  	(function() {
+  		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+  		dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
+  		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+  	})();
+
+  	/* * * DON'T EDIT BELOW THIS LINE * * */
+  	(function () {
+  		var s = document.createElement('script'); s.async = true;
+  		s.type = 'text/javascript';
+  		s.src = '//' + disqus_shortname + '.disqus.com/count.js';
+  		(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
+  	}());
+  </script>
+  <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+
+
+
+
+
+
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/documentation/index.html
----------------------------------------------------------------------
diff --git a/content/docs/documentation/index.html b/content/docs/documentation/index.html
index 7c38719..57dcf16 100644
--- a/content/docs/documentation/index.html
+++ b/content/docs/documentation/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-08T11:24:44+08:00">
+  <meta property="article:published_time" content="2017-06-08T13:09:18+08:00">
 
 
 
@@ -241,6 +241,14 @@
 
             <li><a href="/docs/filter-by-sql92-example/" class="">Filter Example</a></li>
           
+            
+            
+
+            
+            
+
+            <li><a href="/docs/faq/" class="">FAQ</a></li>
+          
         </ul>
         
       </li>
@@ -303,7 +311,7 @@
             
             
 
-            <li><a href="/docs/pull-request/" class="">Pull Request</a></li>
+            <li><a href="/docs/pull-request/" class="">Manage Pull Request</a></li>
           
             
             
@@ -408,17 +416,6 @@
         
       </li>
     
-      <li>
-        
-          
-          
-
-          <a href="/docs/faq/"><span class="nav__sub-title">FAQ</span></a>
-        
-
-        
-      </li>
-    
   </ul>
 </nav>