http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/faq/index.html
----------------------------------------------------------------------
diff --git a/content/docs/faq/index.html b/content/docs/faq/index.html
index 14864cb..9f87441 100644
--- a/content/docs/faq/index.html
+++ b/content/docs/faq/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="active">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>
     
@@ -456,93 +453,101 @@
 
 <ol>
   <li>If the topic sends a message within three days, then the consumer start 
consuming messages from the first message saved in the server.</li>
-  <li>If the topic sends a message three days ago, the consumer start 
consuming messages from the latest message in the server, in other words, 
starting from the tail of message queue.</li>
-  <li>If such consumer is the second reboot, then start to consumer message 
from the last consumption location.</li>
+  <li>If the topic sends a message three days ago, the consumer starts to 
consume messages from the latest message in the server, in other words, 
starting from the tail of message queue.</li>
+  <li>If such consumer is rebooted, then it starts to consume messages from 
the last consumption location.</li>
 </ol>
 
 <h3 id="2-how-to-reconsume-message-when-consumption-fails">2. How to reconsume 
message when consumption fails?</h3>
-<div class="highlighter-rouge"><pre class="highlight"><code>1.Cluster 
consumption pattern
-The consumer business logic code return Action.ReconsumerLater, or NULL, or 
throws an exception, the message will go up to 16 times retry procedure, if 
still fail to retry 16 times, then such message descarded.
 
-2.Broadcast consumption pattern
-The broadcaset consumption still ensures that a message is consumered at least 
once, but it is consumed fail without retry.
-</code></pre>
-</div>
+<ol>
+  <li>
+    <p>Cluster consumption pattern
+The consumer business logic code returns Action.ReconsumerLater, NULL, or 
throws an exception, if a message failed to be consumed, it will retry for up 
to 16 times, after that, the message would be descarded.</p>
+  </li>
+  <li>
+    <p>Broadcast consumption pattern
+The broadcaset consumption still ensures that a message is consumered at least 
once, but no resend option is provided.</p>
+  </li>
+</ol>
 
-<h3 id="3-how-to-deal-with-consume-message-failed">3. How to deal with consume 
message failed?</h3>
+<h3 
id="3-how-to-query-the-failed-message-if-there-is-a-consumption-failure">3. How 
to query the failed message if there is a consumption failure?</h3>
 
 <ol>
-  <li>Use topic query by the time range, you can query to a period of time 
Topic received all the messages.</li>
+  <li>Using topic query by time, you can query messages within a period of 
time.</li>
   <li>Using Topic and Message Id to accurately query the message.</li>
   <li>Using Topic and Message Key accurately query a class of messages with 
the same Message Key.</li>
 </ol>
 
-<h3 id="4-delivery-exactly-once">4. Delivery exactly once?</h3>
+<h3 id="4-are-messages-delivered-exactly-once">4. Are messages delivered 
exactly once?</h3>
 
-<p>In most cases, the message is not repeated. As a distributed message 
middleware, in the network jitter, application processing timeout and other 
abnormal circumstances, can not guarantee that the message is not repeated, but 
can ensure that the message is not lost.</p>
+<p>RocketMQ ensures that all messages are delivered at least once. In most 
cases, the messages are not repeated.</p>
 
 <h3 id="5-how-to-add-a-new-broker">5. How to add a new broker?</h3>
 
 <ol>
-  <li>Start up a new broker and make it register to the same list of name 
servers.</li>
-  <li>On default, only internally system topics and consumer groups are 
created automatically. If you would like to have your business topic and 
consumer groups on the new node, remember to replicate them from the existing 
broker. You may turn to admin tool command to achieve this.</li>
+  <li>Start up a new broker and register it to the same list of name 
servers.</li>
+  <li>By default, only internal system topics and consumer groups are created 
automatically. If you would like to have your business topic and consumer 
groups on the new node, please replicate them from the existing broker. Admin 
tool and command lines are provided to handle this.</li>
 </ol>
 
 <h2 id="configuration-related">Configuration related</h2>
-<h3 id="1-how-long-the-message-is-saved-on-the-server">1. How long the message 
is saved on the server?</h3>
+<p>The following answers are all default values and can be modified by 
configuration.</p>
+<h3 id="1-how-long-are-the-messages-saved-on-the-server">1. How long are the 
messages saved on the server?</h3>
 
-<p>Stored messages are saved for up to 3 days, and messages that are not 
consumed for more than 3 days will be deleted.</p>
+<p>Stored messages are will be saved for up to 3 days, and messages that are 
not consumed for more than 3 days will be deleted.</p>
 
-<h3 id="2-what-is-the-length-limit-for-message-body">2. What is the length 
limit for message Body?</h3>
-<p>Generally 256KB, but can be modified by configuration.</p>
+<h3 id="2-what-is-the-size-limit-for-message-body">2. What is the size limit 
for message Body?</h3>
+<p>Generally 256KB.</p>
 
 <h3 id="3-how-to-set-the-number-of-consumer-threads">3. How to set the number 
of consumer threads?</h3>
-<p>When you start Consumer, set a ConsumeThreadNums property, example as 
follow.</p>
+<p>When you start Consumer, set a ConsumeThreadNums property, example is as 
follows:</p>
 
-<div class="highlighter-rouge"><pre 
class="highlight"><code>properties.put(PropertyKeyConst.ConsumeThreadNums,20);
+<div class="highlighter-rouge"><pre 
class="highlight"><code>consumer.setConsumeThreadMin(20);
+consumer.setConsumeThreadMax(20);
 </code></pre>
 </div>
 
 <h2 id="errors">Errors</h2>
-<h3 
id="1-start-producer-or-consumer-failed-and-producer-group-or-consumer-repeat">1.
 Start producer or consumer failed and producer group or consumer repeat?</h3>
-<p>Reason:In the same JVM inside using the same Producer ID/Consumer ID 
launched multiple instances of Producer/Consumer, it may cause the client to 
start failure.</p>
+<h3 
id="1-if-you-start-a-producer-or-consumer-failed-and-the-error-message-is-producer-group-or-consumer-repeat">1.
 If you start a producer or consumer failed and the error message is producer 
group or consumer repeat?</h3>
+<p>Reason:Using the same Producer /Consumer Group to launch multiple 
instances of Producer/Consumer in the same JVM may cause the client fail to 
start.</p>
 
-<p>Solution: Ensure that a JVM corresponds to a Producer ID/Consumer ID starts 
only with a Producer/Consumer instance.</p>
+<p>Solution: Make sure that a JVM corresponding to one Producer /Consumer 
Group starts only with one Producer/Consumer instance.</p>
 
-<h3 id="2-in-broadcast-mode-consumer-start-loading-json-file-failed">2. In 
broadcast mode, consumer start loading json file failed?</h3>
-<p>Reason: Fastjson version is too low to cause the broadcast consumer to load 
a local offsets.json file failed, which causing the consumer boot failure.</p>
+<h3 id="2-if-consumer-failed-to-start-loading-json-file-in-broadcast-mode">2. 
If consumer failed to start loading json file in broadcast mode?</h3>
+<p>Reason: Fastjson version is too low to allow the broadcast consumer to load 
local offsets.json, causing the consumer boot failure. Damaged fastjson file 
can also cause the same problem.</p>
 
-<p>Solution: Fastjson version will be upgraded to rocketmq client dependent 
version, to ensure that the local offsets.json can be normal loading. By 
default offsets.json file is in /home/{user}/.rocketmq_offsets.</p>
+<p>Solution: Fastjson version has to be upgraded to rocketmq client dependent 
version to ensure that the local offsets.json can be loaded. By default 
offsets.json file is in /home/{user}/.rocketmq_offsets. Or check the integrity 
of fastjson.</p>
 
-<h3 id="3-what-if-a-broker-crashes">3. What if a broker crashes?</h3>
+<h3 id="3-what-is-the-impact-of-a-broker-crash">3. What is the impact of a 
broker crash?</h3>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>1. Master crashes
-   Messages can no longer be sent to this broker set, but if you have another 
broker set available, messages can be still sent there given the topic is 
present.Messages can still be consumed from slaves.
-2. One slaves crashes
-   As long as there is another working slave, no impact on writing messages;No 
impact on consuming messages except when the consumer group is set to consume 
from this slave preferably. By default, it is from master.
-3. All slaves crash
-   No impact on writing messages on master, but if master is a SYNC_MASTER, 
the producer will get a result of SLAVE_NOT_AVAILABLE indicating that the 
message is not replicated to any slaves.No impact on consuming messages except 
that if the consumer group is set to consume from slave preferably. By default, 
it is from master.
-</code></pre>
-</div>
+<ol>
+  <li>Master crashes</li>
+</ol>
 
-<h3 id="4-producer-complains-no-topic-route-info-how-to-diagnose">4. Producer 
complains “No Topic Route Info”, how to diagnose?</h3>
-<p>This happens when you are trying to send message to a topic whose route 
info is not available to the producer.</p>
+<p>Messages can no longer be sent to this broker set, but if you have another 
broker set available, messages can still be sent given the topic is present. 
Messages can still be consumed from slaves.</p>
 
 <ol>
-  <li>Confirm the producer can connect to a name server and capable of 
fetching routing meta info from it.</li>
-  <li>Confirm that name servers do contain routing meta info of the topic. You 
may query the routing meta info from name server through topicRoute of admin 
tools or web console.</li>
-  <li>Confirm your brokers are sending heartbeats to the same list of name 
servers your producer is connecting to.</li>
-  <li>Confirm that the topic’s perm is 6(rw-), or at least 2(-w-).</li>
+  <li>Some slave crash</li>
 </ol>
 
-<p>If you can’t find this topic, create it via admin tools command 
updateTopic or web console on a broker.</p>
+<p>As long as there is another working slave, there will be no impact on 
sending messages. There will also be no impact on consuming messages except 
when the consumer group is set to consume from this slave preferably. By 
default, comsumer group consumes from master.</p>
 
-<h2 id="features">Features</h2>
-<h3 id="1-what-kind-of-consumption-pattern-does-rocketmq-provide">1. What kind 
of consumption pattern does RocketMQ provide?</h3>
-<p>In RocketMQ, it providers two types of consumption patterns, such as 
Clustering consumption patterns and broadcasting consumption patterns. See the 
documentation on cluster patterns for details.</p>
+<ol>
+  <li>All slaves crash</li>
+</ol>
+
+<p>There will be no impact on sending messages to master, but, if the master 
is SYNC_MASTER, producer will get a SLAVE_NOT_AVAILABLE indicating that the 
message is not sent to any slaves. There will also be no impact on consuming 
messages except that if the consumer group is set to consume from slave 
preferably. By default, comsumer group consumes from master.</p>
+
+<h3 id="4-producer-complains-no-topic-route-info-how-to-diagnose">4. Producer 
complains “No Topic Route Info”, how to diagnose?</h3>
+<p>This happens when you are trying to send messages to a topic whose routing 
info is not available to the producer.</p>
+
+<ol>
+  <li>Make sure that the producer can connect to a name server and is capable 
of fetching routing meta info from it.</li>
+  <li>Make sure that name servers do contain routing meta info of the topic. 
You may query the routing meta info from name server through topicRoute using 
admin tools or web console.</li>
+  <li>Make sure that your brokers are sending heartbeats to the same list of 
name servers your producer is connecting to.</li>
+  <li>Make sure that the topic’s permssion is 6(rw-), or at least 
2(-w-).</li>
+</ol>
 
-<h3 id="2-how-many-kinds-of-message-type-are-supported">2. How many kinds of 
message type are supported?</h3>
-<p>There are several types of messages that are currently supported in 
rocketmq,such as common message, timed message, transaction message, 
sequential message and delay message. User can select the appropriate message 
type according to the needs of the business.</p>
+<p>If you can’t find this topic, create it on a broker via admin tools 
command updateTopic or web console.</p>
 
         
       </section>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/filter-by-sql92-example/index.html
----------------------------------------------------------------------
diff --git a/content/docs/filter-by-sql92-example/index.html 
b/content/docs/filter-by-sql92-example/index.html
index dd751de..63f011e 100644
--- a/content/docs/filter-by-sql92-example/index.html
+++ b/content/docs/filter-by-sql92-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="active">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/motivation/index.html
----------------------------------------------------------------------
diff --git a/content/docs/motivation/index.html 
b/content/docs/motivation/index.html
index a062d7d..9e2d584 100644
--- a/content/docs/motivation/index.html
+++ b/content/docs/motivation/index.html
@@ -18,7 +18,7 @@
 
 
 
-<meta name="description" content="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 communication, search, social network 
activity stream, data pipeline, even in its trade processes. As our trade 
business throughput rises, pressure originating from our messaging cluster also 
become urgent.">
+<meta name="description" content="At early stages, we constructed our 
distributed messaging middleware based on ActiveMQ 5.x(prior to 5.3). Our 
multinational business uses it for asynchronous communication, search, social 
network activity stream, data pipeline,even in its trade processes. As our 
trade business throughput rises, pressure originating from our messaging 
clusteralso becomes urgent.">
 
 
 
@@ -30,13 +30,13 @@
 
 
 
-  <meta property="og:description" content="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 communication, search, social network 
activity stream, data pipeline, even in its trade processes. As our trade 
business throughput rises, pressure originating from our messaging cluster also 
become urgent.">
+  <meta property="og:description" content="At early stages, we constructed our 
distributed messaging middleware based on ActiveMQ 5.x(prior to 5.3). Our 
multinational business uses it for asynchronous communication, search, social 
network activity stream, data pipeline,even in its trade processes. As our 
trade business throughput rises, pressure originating from our messaging 
clusteralso becomes urgent.">
 
 
 
   <meta name="twitter:site" content="@ApacheRocketMQ">
   <meta name="twitter:title" content="Motivation">
-  <meta name="twitter:description" content="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 communication, search, social network 
activity stream, data pipeline, even in its trade processes. As our trade 
business throughput rises, pressure originating from our messaging cluster also 
become urgent.">
+  <meta name="twitter:description" content="At early stages, we constructed 
our distributed messaging middleware based on ActiveMQ 5.x(prior to 5.3). Our 
multinational business uses it for asynchronous communication, search, social 
network activity stream, data pipeline,even in its trade processes. As our 
trade business throughput rises, pressure originating from our messaging 
clusteralso becomes urgent.">
   <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="Motivation">
-    <meta itemprop="description" content="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 communication, search, social network 
activity stream, data pipeline, even in its trade processes. As our trade 
business throughput rises, pressure originating from our messaging cluster also 
become urgent.">
+    <meta itemprop="description" content="At early stages, we constructed our 
distributed messaging middleware based on ActiveMQ 5.x(prior to 5.3). Our 
multinational business uses it for asynchronous communication, search, social 
network activity stream, data pipeline,even in its trade processes. As our 
trade business throughput rises, pressure originating from our messaging 
clusteralso becomes urgent.">
     <meta itemprop="datePublished" content="June 08, 2017">
     <meta itemprop="dateModified" content="December 16, 2016">
 
@@ -442,7 +439,10 @@
       
 
       <section class="page__content" itemprop="text">
-        <p>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 communication, search, social network activity stream, data 
pipeline, even in its trade processes. As our trade business throughput rises, 
pressure originating from our messaging cluster also become urgent.</p>
+        <p>At early stages, we constructed our distributed messaging 
middleware based on ActiveMQ 5.x(prior to 5.3). Our 
+multinational business uses it for asynchronous communication, search, social 
network activity stream, data pipeline,
+even in its trade processes. As our trade business throughput rises, pressure 
originating from our messaging cluster
+also becomes urgent.</p>
 
 <aside class="sidebar__right">
 <nav class="toc">
@@ -457,10 +457,16 @@
 
 <h1 id="why-rocketmq-">Why RocketMQ ?</h1>
 
-<p>Based on our research, with increased queues and virtual topics in use, 
ActiveMQ IO module reaches a bottleneck. We tried our best to solve this 
problem through throttling, circuit breaker or degradation, but it didn’t 
work well. So we begin to focus on the popular messaging solution Kafka at that 
time. Unfortunately, Kafka can not meet our requirements especially low latency 
and high reliability, see <a 
href="/rocketmq/how-to-support-more-queues-in-rocketmq/">here</a> for 
details.</p>
+<p>Based on our research, with increased queues and virtual topics in use, 
ActiveMQ IO module reaches a bottleneck. We 
+tried our best to solve this problem through throttling, circuit breaker or 
degradation, but it did not work well. So 
+we begin to focus on the popular messaging solution Kafka at that time. 
Unfortunately, Kafka can not meet our 
+requirements especially in terms of low latency and high reliability, see <a 
href="/rocketmq/how-to-support-more-queues-in-rocketmq/">here</a> for 
details.</p>
 
-<p>In this context, we decided to invent a new messaging engine to handle a 
broader set of use cases, ranging from traditional pub/sub scenarios to high 
volume realtime zero-loss tolerance transaction system. We believe this 
solution can be beneficial, so we would like to open source it to the 
community. Today, more than 100 companies are using the open source version of 
RocketMQ in their business. We also published a commercial distribution based 
on RocketMQ, a Platform as a Service (PaaS) product called the
-<a href="https://intl.aliyun.com/";>Alibaba Cloud Platform</a>.</p>
+<p>In this context, we decided to invent a new messaging engine to handle a 
broader set of use cases, ranging from 
+traditional pub/sub scenarios to high volume real-time zero-loss tolerance 
transaction system. We believe this solution
+can be beneficial, so we would like to open source it to the community. Today, 
more than 100 companies are using the 
+open source version of RocketMQ in their business. We also published a 
commercial distribution based on RocketMQ, a PaaS
+ product called the <a href="https://intl.aliyun.com/";>Alibaba Cloud 
Platform</a>.</p>
 
 <p>The following table demonstrates the comparison between RocketMQ, ActiveMQ 
and Kafka (Apache’s most popular messaging solutions according to <a 
href="https://github.com/akullpp/awesome-java";>awesome-java</a>):</p>
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/order-example/index.html
----------------------------------------------------------------------
diff --git a/content/docs/order-example/index.html 
b/content/docs/order-example/index.html
index 6191f5b..f9d8e54 100644
--- a/content/docs/order-example/index.html
+++ b/content/docs/order-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>
     

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/pull-request/index.html
----------------------------------------------------------------------
diff --git a/content/docs/pull-request/index.html 
b/content/docs/pull-request/index.html
index 5f25838..8af1363 100644
--- a/content/docs/pull-request/index.html
+++ b/content/docs/pull-request/index.html
@@ -13,7 +13,7 @@
 
 
 
-<title>Best Practice in Pull Request - Apache RocketMQ</title>
+<title>How to manage Pull Request - Apache RocketMQ</title>
 
 
 
@@ -25,7 +25,7 @@
 
 <meta property="og:locale" content="en">
 <meta property="og:site_name" content="Apache RocketMQ">
-<meta property="og:title" content="Best Practice in Pull Request">
+<meta property="og:title" content="How to manage Pull Request">
 
 
 
@@ -35,7 +35,7 @@
 
 
   <meta name="twitter:site" content="@ApacheRocketMQ">
-  <meta name="twitter:title" content="Best Practice in Pull Request">
+  <meta name="twitter:title" content="How to manage Pull Request">
   <meta name="twitter:description" content="This page guides you through Git 
setup and contribution process.">
   <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="active">Pull 
Request</a></li>
+            <li><a href="/docs/pull-request/" class="active">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>
     
@@ -427,7 +424,7 @@
 
 
   <article class="page" itemscope itemtype="http://schema.org/CreativeWork";>
-    <meta itemprop="headline" content="Best Practice in Pull Request">
+    <meta itemprop="headline" content="How to manage Pull Request">
     <meta itemprop="description" content="This page guides you through Git 
setup and contribution process.">
     <meta itemprop="datePublished" content="June 08, 2017">
     <meta itemprop="dateModified" content="December 24, 2016">
@@ -435,7 +432,7 @@
     <div class="page__inner-wrap">
       
         <header>
-          <h1 class="page__title" itemprop="headline">Best Practice in Pull 
Request
+          <h1 class="page__title" itemprop="headline">How to manage Pull 
Request
 </h1>
           
         </header>
@@ -475,19 +472,16 @@
 <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).
+<p>You will need to update a local master sometimes (to merge to your 
development branches).
 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, as follows</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>git fetch upstream 
master
-git rebase upstream/master
-</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>
@@ -519,7 +513,7 @@ apache    
https://git-wip-us.apache.org/repos/asf/incubator-rocketmq.git (push)
 </code></pre>
 </div>
 
-<p><em>To guarantee code quality of the master branch, all but minor changes 
should go through pull requests reviewed by peer committers.</em></p>
+<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>
 
@@ -528,7 +522,7 @@ 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 or better yet create a PR.</p>
+<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>
 
@@ -541,31 +535,31 @@ git push origin ROCKETMQ-xxxx
 
 <ol>
   <li>
-    <p>Go to your ROCKETMQ-xxxx branch on Github. Since you forked it from 
Github’s apache/incubator-rocketmq. it will default any PR to go to 
apache/master.</p>
+    <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 separately with one of the committers on the list. The “base” 
will be master. Don’t submit a PR to one of the other branches unless you 
know what you are doing. The “head fork” will be your forked repo and the 
“compare” will be your ROCKETMQ-xxxx branch.</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 
use the commenting UI there.</li>
-  <li>If you are looking for a review or sharing with someone else say so in 
the comments but 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 
proceed with Merging a PR</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>You follow <a href="/docs/code-guidelines/">Coding Guidelines</a>.</li>
-  <li>You have unit tests for it, whenever applicable.</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 on creating pull requests, see <a 
href="https://help.github.com/articles/creating-a-pull-request/";>GitHub PR 
docs</a>.</p>
+<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 to target the PR as 
described in the section for committers. <br /> 
-You pull request will be reviewed and commented by committers, and issues can 
be discussed the contribution in progress. When all reviewers are positive on 
the pull request, it will be merged.</p>
+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>
 
 <h1 id="merging-a-pr-yours-or-contributors">Merging a PR (yours or 
contributors)</h1>
-<p>Start with reading <a 
href="https://help.github.com/articles/checking-out-pull-requests-locally/";>GitHub
 PR merging locally</a>. Remember that pull requests are equivalent to a remote 
github branch with potentially a multitude of commits. In this case it is 
recommended to squash remote commit history to have one commit per issue, 
rather than merging in a multitude of contributor’s commits. In order to do 
that, as well as close the PR at the same time, it is recommended to use squash 
commits.
+<p>Start with reading <a 
href="https://help.github.com/articles/checking-out-pull-requests-locally/";>GitHub
 PR merging locally</a>. Remember that pull requests are equivalent to a remote 
github branch with potentially a multitude of commits. In this case it is 
recommended to squash remote commit history to have one commit per issue, 
rather than merging in a multitude of contributor’s commits. In order to do 
that, as well as to close the PR at the same time, it is recommended to use 
squash commits.
 Merging pull requests are equivalent to a “pull” of a contributor’s 
branch:</p>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>git checkout 
master      # switch to local master branch
@@ -574,9 +568,9 @@ git pull --squash 
https://github.com/cuser/incubator-rocketmq.git ROCKETMQ-xxxx
 </code></pre>
 </div>
 
-<p><code class="highlighter-rouge">--squash</code> ensures all PR history is 
squashed into single commit, and allows committer to use his/her own message. 
Read git help for merge or pull for more information about <code 
class="highlighter-rouge">--squash</code> option. In this example we assume 
that the contributor’s Github handle is “cuser” and the PR branch name is 
“ROCKETMQ-xxxx”. Next, resolve conflicts, if any, or ask a contributor to 
rebase on top of master, if PR went out of sync.</p>
+<p><code class="highlighter-rouge">--squash</code> ensures all PR history is 
squashed into single commit, and allows committer to use his/her own message. 
Please refer to git help for merge or pull for more information about <code 
class="highlighter-rouge">--squash</code> option. In this example we assume 
that the contributor’s Github handle is “cuser” and the PR branch name is 
“ROCKETMQ-xxxx”. Next, resolve all conflicts, or ask a contributor to 
rebase on top of master, if PR went out of sync.</p>
 
-<p>If you are ready to merge your own (committer’s) PR you probably only 
need to merge (not pull), since you have a local copy that you’ve been 
working on. This is the branch that you used to create the PR.</p>
+<p>If you are ready to merge your own (committer’s) PR you only need to 
merge (not pull), since you have a local copy that you’ve been working on. 
This is the branch that you used to create the PR.</p>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>git checkout 
master      # switch to local master branch
 git pull apache master   # fast-forward to current remote HEAD
@@ -584,14 +578,14 @@ git merge --squash ROCKETMQ-xxxx
 </code></pre>
 </div>
 
-<p>Remember to run regular patch checks, build with tests enabled, and change 
CHANGELOG.
-If everything is fine, you now can commit the squashed request along the 
lines</p>
+<p>Please run regular patch checks, build with tests enabled, and change 
CHANGELOG whenever needed.
+If all requirements are met, you can commit the squashed request using:</p>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>git commit 
--author="contributor_name &lt;contributor_email&gt;" -a -m "ROCKETMQ-XXXX 
description closes apache/incubator-rocketmq#ZZ"
 </code></pre>
 </div>
 
-<p>ROCKETMQ-XXXX is all caps and where ZZ is the pull request number on 
apache/incubator-rocketmq repository. Including “closes 
apache/incubator-rocketmq#ZZ” will close the PR automatically. More 
information is found here <a 
href="https://help.github.com/articles/closing-issues-via-commit-messages/";>GitHub
 PR closing docs.</a>.
+<p>ROCKETMQ-XXXX is all capitalized and ZZ is the pull request number on 
apache/incubator-rocketmq repository. Including “closes 
apache/incubator-rocketmq#ZZ” will close the PR automatically. More 
information can be found here <a 
href="https://help.github.com/articles/closing-issues-via-commit-messages/";>GitHub
 PR closing docs.</a>.
 Next, push to git-wip-us.apache.org:</p>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>git push apache 
master
@@ -605,7 +599,7 @@ The PR, once pushed, will get mirrored to github. To update 
your github version
 </code></pre>
 </div>
 
-<p>Note on squashing: Since squash discards remote branch history, repeated 
PRs from the same remote branch are difficult for merging. The workflow implies 
that every new PR starts with a new rebased branch. This is more important for 
contributors to know, rather than for committers, because if new PR is not 
mergeable, github would warn to begin with. Anyway, watch for dupe PRs (based 
on same source branches). This is a bad practice.</p>
+<p>Note on squashing: Since squash discards remote branch history, repeated 
PRs from the same remote branch are difficult to be merged. The workflow 
implies that every new PR starts with a new rebased branch. This is more 
important for contributors to know, rather than for committers, because if new 
PR is not mergeable, github would warn at the start. Please watch for dupe PRs 
(based on same source branches).</p>
 
 <h1 id="closing-a-pr-without-committing-for-committers">Closing a PR without 
committing (for committers)</h1>
 <p>When we want to reject a PR (close without committing), we can just issue 
an empty commit on master’s HEAD without merging the PR:</p>
@@ -621,19 +615,19 @@ git push apache master
 
 <p>Read <a 
href="https://blogs.apache.org/infra/entry/improved_integration_between_apache_and";>infra
 blog</a>. Comments and PRs with RocketMQ issue handles should post to mailing 
lists and JIRA. RocketMQ issue handles must in the form ROCKETMQ-YYYYY (all 
capitals). Usually it makes sense to file a JIRA issue first, and then create a 
PR with description
 ROCKETMQ-YYYY: <jira-issue-description>
-In this case all subsequent comments will automatically be copied to jira 
without having to mention JIRA issue explicitly in each comment of the 
PR.</jira-issue-description></p>
+All subsequent comments will then automatically be copied to 
JIRA.</jira-issue-description></p>
 
 <h1 id="best-practises">Best Practises</h1>
 
 <h2 
id="avoiding-accidentally-committing-private-branches-to-the-asf-repo">Avoiding 
accidentally committing private branches to the ASF repo</h2>
 
-<p>Its dangerously easy —especially when using IDEs— to accidentally 
commit changes to the ASF repo, be it direct to the trunk, branch-2 or other 
standard branch on which you are developing, or to a private branch you had 
intended to keep on github (or a private repo).</p>
+<p>It’s dangerous —especially when using IDEs— to accidentally commit 
changes to the ASF repo, be directed to the trunk, branch-2, other standard 
branch on which you are developing, or to a private branch you had intended to 
keep on github (or a private repo).</p>
 
-<p>Committers can avoid this by having the directory in which they develop 
code set up with read only access to the ASF repository on github, without the 
apache repository added. A separate directory should be set up with write 
access to the ASF repository as well as read access to your other repositories. 
Merging operations and pushes back to the ASF repo are done from this directory 
—so isolated from all local development.</p>
+<p>Committers can avoid this by setting the directory in which they develop 
code to read only access to the ASF repository on github. A separate directory 
should also be set up with write access to the ASF repository as well as read 
access to your other repositories. Merging operations and push backs to the ASF 
repo are done from this directory —so it will be immune to all local 
changes.</p>
 
-<p>If you accidentally commit a patch to an ASF branch, do not attempt to roll 
back the branch and force out a new update. Simply commit and push out a new 
patch revoking the change.</p>
+<p>If you accidentally committed a patch to an ASF branch, do not attempt to 
roll back the branch and force out a new update. Simply commit and push out a 
new patch revoking the change.</p>
 
-<p>If you do accidentally commit a branch to the ASF repo, the infrastructure 
team can delete it —but they cannot stop it propagating to github and 
potentially being visible. Try not to do that.</p>
+<p>If you do accidentally committed a branch to the ASF repo, the 
infrastructure team can delete it —but they cannot stop it propagating to 
github and potentially being visible. Please avoid this.</p>
 
 
         
@@ -654,7 +648,7 @@ In this case all subsequent comments will automatically be 
copied to jira withou
     <h4 class="page__share-title">Share on</h4>
   
 
-  <a href="https://twitter.com/intent/tweet?via=ApacheRocketMQ&text=Best 
Practice in Pull Request /docs/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://twitter.com/intent/tweet?via=ApacheRocketMQ&text=How to 
manage Pull Request /docs/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/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>
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/quick-start/index.html
----------------------------------------------------------------------
diff --git a/content/docs/quick-start/index.html 
b/content/docs/quick-start/index.html
index e71b367..90afbae 100644
--- a/content/docs/quick-start/index.html
+++ b/content/docs/quick-start/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>
     
@@ -442,7 +439,8 @@
       
 
       <section class="page__content" itemprop="text">
-        <p>This quick start guide is a detailed instruction of setting up 
RocketMQ messaging system on a local machine and sending/receiving messages.</p>
+        <p>This quick start guide is a detailed instruction of setting up 
RocketMQ messaging system on your local machine to send 
+and receive messages.</p>
 
 <aside class="sidebar__right">
 <nav class="toc">

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/release-manual.html
----------------------------------------------------------------------
diff --git a/content/docs/release-manual.html b/content/docs/release-manual.html
index ae57037..c231e9b 100644
--- a/content/docs/release-manual.html
+++ b/content/docs/release-manual.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>
     
@@ -473,11 +470,11 @@
   </nav>
 </aside>
 
-<p>This is a guide to making a release of Apache RocketMQ (incubating). Please 
follow the steps below.</p>
+<p>This is a guide to make a released version of Apache RocketMQ (incubating). 
Please follow the steps below:</p>
 
 <h2 id="preliminaries">Preliminaries</h2>
 <h3 id="apache-release-documentation">Apache Release Documentation</h3>
-<p>There are some release documentations provided by The ASF, including the 
incubator release documentation, can be found here:</p>
+<p>The release documentations provided by The ASF can be found here:</p>
 
 <ul>
   <li><a href="http://www.apache.org/dev/release-publishing";>Apache Release 
Guide</a></li>
@@ -488,12 +485,12 @@
 </ul>
 
 <h3 id="code-signing-key">Code Signing Key</h3>
-<p>Create a code signing gpg key for release signing, use <strong>&lt;your 
Apache ID&gt;@apache.org</strong> as your primary ID for the code signing key. 
See the <a href="https://www.apache.org/dev/release-signing";>Apache Release 
Signing documentation</a> for more details.</p>
+<p>Create a code signing gpg key for release signing, use <strong>&lt;your 
Apache ID&gt;@apache.org</strong> as your primary ID for the code signing key. 
See <a href="https://www.apache.org/dev/release-signing";>Apache Release Signing 
documentation</a> for more details.</p>
 
 <ul>
-  <li>Create new pgp key. How to use pgp please refer to <a 
href="http://www.apache.org/dev/openpgp.html";>here</a>.</li>
+  <li>Create new pgp key. Please refer to <a 
href="http://www.apache.org/dev/openpgp.html";>here</a> on how to use gpg 
key.</li>
   <li>Generate a new key via <code class="highlighter-rouge">gpg 
--gen-key</code>, and answer 4096 bits with no expiration time.</li>
-  <li>Upload your key to a public key server, like <code 
class="highlighter-rouge">gpg --keyserver pgpkeys.mit.edu --send-key &lt;your 
key id&gt;</code>.</li>
+  <li>Upload your key to a public key server by <code 
class="highlighter-rouge">gpg --keyserver pgpkeys.mit.edu --send-key &lt;your 
key id&gt;</code>.</li>
   <li>Get the key signed by other committers(Optional).</li>
   <li>Add the key to the RocketMQ <a 
href="https://dist.apache.org/repos/dist/dev/incubator/rocketmq/KEYS";>KEYS 
file</a>.</li>
 </ul>
@@ -501,7 +498,7 @@
 <p><strong>Tips:</strong> If you have more than one key in your gpg, set the 
code signing key to <code class="highlighter-rouge">~/.gnupg/gpg.conf</code> as 
default key is recommended.</p>
 
 <h3 id="prepare-your-maven-settings">Prepare Your Maven Settings</h3>
-<p>Make sure that your Maven settings.xml file contains the following:</p>
+<p>Make sure your Maven settings.xml file contains the following:</p>
 
 <div class="language-xml highlighter-rouge"><pre class="highlight"><code><span 
class="nt">&lt;settings&gt;</span>
    <span class="nt">&lt;profiles&gt;</span>
@@ -552,33 +549,33 @@
 <p>Before building the release artifacts, do some verifications below:</p>
 
 <ul>
-  <li>Ensure that now your are in the candidate release branch.</li>
-  <li>Ensure that all the unit tests can pass via <code 
class="highlighter-rouge">mvn clean install</code>.</li>
-  <li>Ensure that all the integration tests can pass via <code 
class="highlighter-rouge">mvn clean test -Pit-test</code>.</li>
+  <li>Make sure that your are in the candidate release branch.</li>
+  <li>Make sure that all the unit tests can pass via <code 
class="highlighter-rouge">mvn clean install</code>.</li>
+  <li>Make sure that all the integration tests can pass via <code 
class="highlighter-rouge">mvn clean test -Pit-test</code>.</li>
 </ul>
 
 <p>Perform the following to generate and stage the artifacts:</p>
 
 <ol>
   <li><code class="highlighter-rouge">mvn clean release:clean</code></li>
-  <li><code class="highlighter-rouge">mvn release:prepare -Psigned_release 
-Darguments="-DskipTests"</code>, answer the right release version, SCM release 
tag, and the new development version.</li>
+  <li><code class="highlighter-rouge">mvn release:prepare -Psigned_release 
-Darguments="-DskipTests"</code>, answer the correct release version, SCM 
release tag, and the new development version.</li>
   <li><code class="highlighter-rouge">mvn -Psigned_release release:perform 
-Darguments="-DskipTests"</code>, generate the artifacts and push them to the 
<a href="https://repository.apache.org/#stagingRepositories";>Nexus repo</a>. If 
you would like to perform a dry run first (without pushing the artifacts to the 
repo), add the arg -DdryRun=true</li>
 </ol>
 
 <p>Now, the candidate release artifacts can be found in the <a 
href="https://repository.apache.org/#stagingRepositories";>Nexus staging 
repo</a> and in the <code class="highlighter-rouge">target</code> folder of 
your local branch.</p>
 
-<p><strong>Tips:</strong> If you are performing a source-only release, please 
remove all artifacts from the staging repo except for the .zip file containing 
the source and the javadocs jar file. In the Nexus GUI, you can right click on 
each artifact to be deleted and then select <code 
class="highlighter-rouge">Delete</code>.</p>
+<p><strong>Tips:</strong> If you are performing a source-only release, please 
remove all artifacts from the staging repo besides the .zip file containing the 
source and the javadocs jar file. In the Nexus GUI, you can right click on each 
artifact to be deleted and then select <code 
class="highlighter-rouge">Delete</code>.</p>
 
 <h3 id="validate-the-release-candidate">Validate the Release Candidate</h3>
-<p>Now the release candidate is ready, before calling a vote, the artifacts 
must satisfy the following checklist:</p>
+<p>Now the release candidate is ready, before calling a vote, the artifacts 
must satisfy the following requirements:</p>
 
 <ul>
   <li>Checksums and PGP signatures are valid.</li>
   <li>Build is successful including unit and integration tests.</li>
-  <li>DISCLAIMER is correct, filenames include “incubating”.</li>
+  <li>DISCLAIMER is correct and filenames must include “incubating”.</li>
   <li>LICENSE and NOTICE files are correct and dependency licenses are 
acceptable.</li>
-  <li>All source files have license headers where appropriate, RAT checks 
pass</li>
-  <li>Javadocs have been generated correctly and are accurate.</li>
+  <li>All source files have license headers and pass RAT checks.</li>
+  <li>Javadocs have been generated correctly.</li>
   <li>The provenance of all source files is clear (ASF or software 
grants).</li>
 </ul>
 
@@ -601,14 +598,14 @@
 <div class="language-shell highlighter-rouge"><pre class="highlight"><code>  
gpg --verify rocketmq-all-%version-number%-incubating-source-release.zip.asc 
rocketmq-all-%version-number%-incubating-source-release.zip
 </code></pre>
 </div>
-<p>Check the output to ensure it contains only good signatures:</p>
+<p>Check the output to ensure it only contains good signatures:</p>
 
 <div class="language-text highlighter-rouge"><pre class="highlight"><code>  
gpg: Good signature from ... gpg: Signature made ...
 </code></pre>
 </div>
 
 <ol>
-  <li>Compare MD5, SHA hash generated from the below command with the 
downloaded hash files.</li>
+  <li>Compare MD5, SHA hash generated by the below command with the downloaded 
hash files.</li>
 </ol>
 
 <div class="language-shell highlighter-rouge"><pre class="highlight"><code>  
gpg --print-mds rocketmq-all-%version-number%-incubating-source-release.zip 
@@ -616,13 +613,13 @@
 </div>
 
 <h3 id="release-artifacts-to-dev-repository">Release Artifacts to 
Dev-Repository</h3>
-<p>If the release candidate appears to pass the validation checklist, close 
the staging repository in Nexus by selecting the staging repository <code 
class="highlighter-rouge">orgapacherocketmq-XXX</code> and clicking on the 
<code class="highlighter-rouge">Close</code> icon.</p>
+<p>If the release candidate passes the validation checklist, close the staging 
repository in Nexus by selecting the staging repository <code 
class="highlighter-rouge">orgapacherocketmq-XXX</code> and clicking on the 
<code class="highlighter-rouge">Close</code> icon.</p>
 
 <p>Nexus will now run through a series of checksum and signature 
validations.</p>
 
-<p>If the checks pass, Nexus will close the repository and give a URL to the 
closed staging repo (which contains the candidate artifacts). Include this URL 
in the voting email so that folks can find the staged candidate release 
artifacts.</p>
+<p>If the checks are passed, Nexus will close the repository and produce a URL 
to the closed staging repo (which contains the candidate artifacts). Include 
this URL in the voting email so that folks can find the staged candidate 
release artifacts.</p>
 
-<p>If the checks do not pass, fix the issues, roll back and restart the 
release process.</p>
+<p>If the checks aren’t passed, fix the issues then go back and restart the 
release process.</p>
 
 <p>If everything is ok, use svn to copy the candidate release artifacts to 
RocketMQ repo: 
https://dist.apache.org/repos/dist/dev/incubator/rocketmq/${release 
version}.</p>
 
@@ -633,7 +630,7 @@
 <p>General information regarding the Apache voting process can be found <a 
href="http://www.apache.org/foundation/voting.html";>here</a>.</p>
 
 <h3 id="apache-rocketmq-community-vote">Apache RocketMQ Community Vote</h3>
-<p>To vote on a candidate release, send an email to the <a 
href="mailto:[email protected]";>dev list</a> with subject 
<strong>[VOTE]: Release Apache RocketMQ &lt;release version&gt;(incubating) 
RC&lt;RC Number&gt;</strong> and a body along the lines of:</p>
+<p>To vote on a candidate release, send an email to the <a 
href="mailto:[email protected]";>dev list</a> with subject 
<strong>[VOTE]: Release Apache RocketMQ &lt;release version&gt;(incubating) 
RC&lt;RC Number&gt;</strong> and body:</p>
 
 <blockquote>
   <p>Hello RocketMQ Community,</p>
@@ -670,7 +667,7 @@ 
https://dist.apache.org/repos/dist/dev/incubator/rocketmq/KEYS</p>
 The Apache RocketMQ Team</p>
 </blockquote>
 
-<p>Once 72 hours has passed (which is generally preferred) and/or at least 
three +1 (binding) votes have been cast with no -1 (binding) votes, send an 
email closing the vote and pronouncing the release candidate a success. Please 
use the subject: <strong>[RESULT][VOTE]: Release Apache RocketMQ &lt;release 
version&gt;(incubating) RC&lt;RC Number&gt;</strong> :</p>
+<p>Once 72 hours has passed (which is generally preferred) and/or at least 
three +1 (binding) votes have been cast with no -1 (binding) votes, send an 
email closing the vote and congratulate the release candidate. Please use the 
subject: <strong>[RESULT][VOTE]: Release Apache RocketMQ &lt;release 
version&gt;(incubating) RC&lt;RC Number&gt;</strong> :</p>
 
 <blockquote>
   <p>Hello RocketMQ Community,</p>
@@ -693,7 +690,7 @@ User Name (Apache ID)<br />
 The Apache RocketMQ Team</p>
 </blockquote>
 
-<p>If we do not pass the VOTE, fix the related issues, roll back, restart the 
release process and increase RC number. When we call a new vote, we must use 
the updated mail subject: <strong>[RESTART][VOTE][#&lt;Attempt Number&gt;]: 
Release Apache RocketMQ &lt;release version&gt;(incubating) RC&lt;RC 
Number&gt;</strong></p>
+<p>If we do not pass the VOTE, fix the related issues, go back, restart the 
release process and increase RC number. When we call a new vote, we must use 
the updated mail subject: <strong>[RESTART][VOTE][#&lt;Attempt Number&gt;]: 
Release Apache RocketMQ &lt;release version&gt;(incubating) RC&lt;RC 
Number&gt;</strong></p>
 
 <h3 id="incubator-pmc-vote">Incubator PMC Vote</h3>
 <p>Once the candidate release vote passes on dev@rocketmq, send an email to <a 
href="mailto:[email protected]";>IMPC</a> with subject 
<strong>[VOTE]: Release Apache RocketMQ &lt;release version&gt;(incubating) 
RC&lt;RC Number&gt;</strong> and a body along the lines of:</p>
@@ -739,7 +736,7 @@ 
https://dist.apache.org/repos/dist/dev/incubator/rocketmq/KEYS</p>
 The Apache RocketMQ Team</p>
 </blockquote>
 
-<p>Also don’t forget announce the vote result:</p>
+<p>Also don’t forget to announce the vote result:</p>
 
 <blockquote>
   <p>Hello Incubator PMC,</p>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/rmq-arc/index.html
----------------------------------------------------------------------
diff --git a/content/docs/rmq-arc/index.html b/content/docs/rmq-arc/index.html
index 03ea9ae..5db7168 100644
--- a/content/docs/rmq-arc/index.html
+++ b/content/docs/rmq-arc/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>
     
@@ -458,7 +455,7 @@
 
 <h1 id="overview">Overview</h1>
 
-<p>The greatest strengths of RocketMQ are high throughput, high reliability, 
and low latency when supporting massive messages through exquisite scale out 
and scale up. RocketMQ consists of four parts: name servers, brokers, producers 
and consumers. Each of them can be horizontally extended without a single Point 
of Failure. As shown in screenshot below.</p>
+<p>Apache RocketMQ is a distributed messaging and streaming platform with low 
latency, high performance and reliability, trillion-level capacity and flexible 
scalability. It consists of four parts: name servers, brokers, producers and 
consumers. Each of them can be horizontally extended without a single Point of 
Failure. As shown in screenshot above.</p>
 
 <p><strong>NameServer Cluster</strong></p>
 
@@ -466,7 +463,7 @@
 
 <p><strong>Broker Cluster</strong></p>
 
-<p>Brokers take care of message storage by providing lightweight TOPIC and 
QUEUE mechanisms. It supports the Push and Pull model, contains fault tolerance 
mechanism (2 copies or 3 copies), and provides strong padding of peaks and 
capacity of accumulating hundreds of billion messages in their original time 
order. In addition, Brokers provide disaster recovery, rich metrics statistics, 
and alert mechanisms, all of which are lacking in traditional messaging 
systems.</p>
+<p>Brokers take care of message storage by providing lightweight TOPIC and 
QUEUE mechanisms. They support the Push and Pull model, contains fault 
tolerance mechanism (2 copies or 3 copies), and provides strong padding of 
peaks and capacity of accumulating hundreds of billion messages in their 
original time order. In addition, Brokers provide disaster recovery, rich 
metrics statistics, and alert mechanisms, all of which are lacking in 
traditional messaging systems.</p>
 
 <p><strong>Producer Cluster</strong></p>
 
@@ -475,7 +472,7 @@
 <p><strong>Consumer Cluster</strong></p>
 
 <p>Consumers support distributed deployment in the Push and Pull model as 
well. It also supports cluster consumption and message broadcasting. It 
provides real-time message subscription mechanism and can meet most consumer 
requirements. 
-RocketMQ’s website provides a simple quick-start guide[3] to interested 
users.</p>
+RocketMQ’s website provides a simple quick-start guide to interested 
users.</p>
 
 <h1 id="nameserver">NameServer</h1>
 
@@ -506,11 +503,11 @@ RocketMQ’s website provides a simple quick-start 
guide[3] to interested users.
 <p>As shown in image below, Broker server has searval important sub 
modules:</p>
 
 <ul>
-  <li>Remoting Module, the entry of broker, handle the requests from 
clients.</li>
-  <li>Client Manager, manage the clients (Producer/Consumer), maintain topic 
subscription of consumer.</li>
-  <li>Store Service, provide simple APIs to store or query message in physical 
disk.</li>
-  <li>HA Service, provide data sync feature between master broker and slave 
broker.</li>
-  <li>Index Service, build index for messages by specified key and provide 
quick message query function.</li>
+  <li>Remoting Module, the entry of broker, handles the requests from 
clients.</li>
+  <li>Client Manager, manages the clients (Producer/Consumer) and maintains 
topic subscription of consumer.</li>
+  <li>Store Service, provides simple APIs to store or query message in 
physical disk.</li>
+  <li>HA Service, provides data sync feature between master broker and slave 
broker.</li>
+  <li>Index Service, builds index for messages by specified key and provides 
quick message query.</li>
 </ul>
 
 <p><img src="/assets/images/rmq-basic-component.png" alt="" /></p>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/rmq-deployment/index.html
----------------------------------------------------------------------
diff --git a/content/docs/rmq-deployment/index.html 
b/content/docs/rmq-deployment/index.html
index 98ee4e6..005b7af 100644
--- a/content/docs/rmq-deployment/index.html
+++ b/content/docs/rmq-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>
     
@@ -474,24 +471,24 @@
   </nav>
 </aside>
 
-<p>This section is to introduce deployment solution which is considered 
production-ready. Generally speaking, we are deploying a resilient RocketMQ 
cluster having no single point of failure.</p>
+<p>This section introduces production-ready deployment solution. Generally 
speaking, we are deploying a resilient RocketMQ cluster having no single point 
of failure.</p>
 
 <h3 id="prerequisite">Prerequisite</h3>
-<p>Before starting this section, make sure you have read Quick Start section, 
in which core concepts and components of RocketMQ are introduced.</p>
+<p>Before starting this section, make sure you have read Quick Start section, 
and are farmiliar with the core concepts and components of RocketMQ.</p>
 
 <h4 id="production-ready-deployment">Production-ready Deployment</h4>
 <h5 id="name-server">Name Server</h5>
-<p>To ensure the cluster can still operate normally when one instance crashes, 
two or more name server instances are recommended. As long as there is one name 
server instance alive, the whole cluster remains in service.</p>
+<p>To ensure the cluster can still function when one instance crashes, two or 
more name server instances are recommended. As long as there is one name server 
instance alive, the whole cluster remains in service.</p>
 
-<p>Name server follows the share-nothing design paradigm. Brokers send 
heartbeat data to all name servers. Producers and consumers may query meta data 
from any of name servers available while sending / consuming messages.</p>
+<p>Name server follows the share-nothing design paradigm. Brokers send 
heartbeat data to all name servers. Producers and consumers can query meta data 
from any of name servers available while sending / consuming messages.</p>
 
 <h4 id="broker">Broker</h4>
 <p>Brokers can be divided into two categories according to their roles: master 
and slave. Master brokers provide RW access while slave brokers only accept 
read access.</p>
 
-<p>To deploy a high-availability RocketMQ cluster which has no single point of 
failure, a series of broker sets should be deployed. A broker set contains one 
master with brokerId set to 0 and several slaves with non-zero brokerIDs. All 
of the brokers in one set have the same brokerName. In serious scenarios, we 
should have at least two brokers in one broker set. Each topic resides in two 
or more brokers.</p>
+<p>To deploy a high-availability RocketMQ cluster with no single point of 
failure, a series of broker sets should be deployed. A broker set contains one 
master with brokerId set to 0 and several slaves with non-zero brokerIDs. All 
of the brokers in one set have the same brokerName. In serious scenarios, we 
should have at least two brokers in one broker set. Each topic resides in two 
or more brokers.</p>
 
 <h3 id="configuration">Configuration</h3>
-<p>When deploying a RocketMQ cluster, below configurations should be taken 
into consideration.</p>
+<p>When deploying a RocketMQ cluster, recommended configuration is listed 
below:</p>
 
 <h5 id="broker-configuration">Broker configuration</h5>
 
@@ -499,7 +496,7 @@
   <thead>
     <tr>
       <th>Property Name</th>
-      <th style="text-align: center">Default values</th>
+      <th style="text-align: center">Default value</th>
       <th style="text-align: right">Details</th>
     </tr>
   </thead>
@@ -578,12 +575,12 @@
 <h4 id="how-to-get">How To Get</h4>
 <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>In case you have source code, the rocketmq-tools module contains its source 
code.</p>
+<p>In case you need the source code, the rocketmq-tools module contains its 
source code.</p>
 
 <h4 id="how-to-use">How to use</h4>
 <p>The Admin Tool is very easy to use. Here, for demonstration purpose, *nix 
environment is assumed.</p>
 
-<p>Change directory to ${PACKAGE}/bin, command bash mqadmin, you should see 
the following help menu pops out:</p>
+<p>Change directory to ${PACKAGE}/bin, command bash mqadmin, you should see 
the following help menu:</p>
 
 <div class="language-java highlighter-rouge"><pre 
class="highlight"><code><span class="n">The</span> <span class="n">most</span> 
<span class="n">commonly</span> <span class="n">used</span> <span 
class="n">mqadmin</span> <span class="n">commands</span> <span 
class="nl">are:</span>
    <span class="n">updateTopic</span>          <span class="n">Update</span> 
<span class="n">or</span> <span class="n">create</span> <span 
class="n">topic</span>
@@ -602,13 +599,13 @@
    <span class="n">queryMsgByOffset</span>     <span class="n">Query</span> 
<span class="n">Message</span> <span class="n">by</span> <span 
class="n">offset</span>
    <span class="n">queryMsgByUniqueKey</span>  <span class="n">Query</span> 
<span class="n">Message</span> <span class="n">by</span> <span 
class="n">Unique</span> <span class="n">key</span>
    <span class="n">printMsg</span>             <span class="n">Print</span> 
<span class="n">Message</span> <span class="n">Detail</span>
-   <span class="n">sendMsgStatus</span>        <span class="n">send</span> 
<span class="n">msg</span> <span class="n">to</span> <span 
class="n">broker</span>
+   <span class="n">sendMsgStatus</span>        <span class="n">Send</span> 
<span class="n">msg</span> <span class="n">to</span> <span 
class="n">broker</span>
    <span class="n">brokerConsumeStats</span>   <span class="n">Fetch</span> 
<span class="n">broker</span> <span class="n">consume</span> <span 
class="n">stats</span> <span class="n">data</span>
    <span class="n">producerConnection</span>   <span class="n">Query</span> 
<span class="n">producer</span><span class="err">'</span><span 
class="n">s</span> <span class="n">socket</span> <span 
class="n">connection</span> <span class="n">and</span> <span 
class="n">client</span> <span class="n">version</span>
    <span class="n">consumerConnection</span>   <span class="n">Query</span> 
<span class="n">consumer</span><span class="err">'</span><span 
class="n">s</span> <span class="n">socket</span> <span 
class="n">connection</span><span class="o">,</span> <span 
class="n">client</span> <span class="n">version</span> <span 
class="n">and</span> <span class="n">subscription</span>
    <span class="n">consumerProgress</span>     <span class="n">Query</span> 
<span class="n">consumers</span><span class="err">'</span><span 
class="n">s</span> <span class="n">progress</span><span class="o">,</span> 
<span class="n">speed</span>
    <span class="n">consumerStatus</span>       <span class="n">Query</span> 
<span class="n">consumer</span><span class="err">'</span><span 
class="n">s</span> <span class="n">internal</span> <span class="n">data</span> 
<span class="n">structure</span>
-   <span class="n">cloneGroupOffset</span>     <span class="n">clone</span> 
<span class="n">offset</span> <span class="n">from</span> <span 
class="n">other</span> <span class="n">group</span>
+   <span class="n">cloneGroupOffset</span>     <span class="n">Clone</span> 
<span class="n">offset</span> <span class="n">from</span> <span 
class="n">other</span> <span class="n">group</span>
    <span class="n">clusterList</span>          <span class="n">List</span> 
<span class="n">all</span> <span class="n">of</span> <span 
class="n">clusters</span>
    <span class="n">topicList</span>            <span class="n">Fetch</span> 
<span class="n">all</span> <span class="n">topic</span> <span 
class="n">list</span> <span class="n">from</span> <span class="n">name</span> 
<span class="n">server</span>
    <span class="n">updateKvConfig</span>       <span class="n">Create</span> 
<span class="n">or</span> <span class="n">update</span> <span 
class="n">KV</span> <span class="n">config</span>
@@ -622,7 +619,7 @@
    <span class="n">statsAll</span>             <span class="n">Topic</span> 
<span class="n">and</span> <span class="n">Consumer</span> <span 
class="n">tps</span> <span class="n">stats</span>
    <span class="n">syncDocs</span>             <span 
class="n">Synchronize</span> <span class="n">wiki</span> <span 
class="n">and</span> <span class="n">issue</span> <span class="n">to</span> 
<span class="n">github</span><span class="o">.</span><span class="na">com</span>
    <span class="n">allocateMQ</span>           <span class="n">Allocate</span> 
<span class="n">MQ</span>
-   <span class="n">checkMsgSendRT</span>       <span class="n">check</span> 
<span class="n">message</span> <span class="n">send</span> <span 
class="n">response</span> <span class="n">time</span>
+   <span class="n">checkMsgSendRT</span>       <span class="n">Check</span> 
<span class="n">message</span> <span class="n">send</span> <span 
class="n">response</span> <span class="n">time</span>
    <span class="n">clusterRT</span>            <span class="n">List</span> 
<span class="n">All</span> <span class="n">clusters</span> <span 
class="n">Message</span> <span class="n">Send</span> <span class="n">RT</span>
 
 </code></pre>
@@ -639,7 +636,7 @@ If you want to get more information about a specific 
command like ‘clusterList
 </div>
 
 <h3 id="replication-mode">Replication mode</h3>
-<p>To guarantee any successfully published message won’t be lost, RocketMQ 
provides a Replication mode to gain stronger durability and higher availability 
with two replication way: Sync &amp; Async.</p>
+<p>To make sure that no successfully published message will be lost, RocketMQ 
provides a Replication mode to gain stronger durability and higher availability 
with two replication ways: Sync &amp; Async.</p>
 
 <h5 id="replication-sync--async-broker">Replication: Sync / Async Broker</h5>
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/roadmap/index.html
----------------------------------------------------------------------
diff --git a/content/docs/roadmap/index.html b/content/docs/roadmap/index.html
index 9723b15..d1d03d9 100644
--- a/content/docs/roadmap/index.html
+++ b/content/docs/roadmap/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>
     
@@ -445,7 +442,7 @@
         <h2 id="410430-incubating-roadmap">4.1.0~4.3.0-incubating RoadMap:</h2>
 
 <h3 id="openmessaging">OpenMessaging</h3>
-<p>OpenMessaging, which includes the establishment of industry guidelines and 
messaging, streaming specifications to provide a common framework for finance, 
e-commerce, IoT and big-data area. The design principles are the 
cloud-oriented, simplicity, flexibility, and language independent in 
distributed heterogeneous environments. Conformance to these specifications 
will make it possible to develop a heterogeneous messaging applications across 
all major platforms and operating systems. <a 
href="https://issues.apache.org/jira/browse/ROCKETMQ-17";>JIRA</a></p>
+<p>OpenMessaging, which includes the establishment of industry guidelines and 
messaging, streaming specifications to provide a common framework for finance, 
e-commerce, IoT and big-data area. The design principles are the 
cloud-orientedness, simplicity, flexibility, and language independency in 
distributed heterogeneous environments. Conformance to these specifications 
allows the development of a heterogeneous messaging applications across all 
major platforms and operating systems. <a 
href="https://issues.apache.org/jira/browse/ROCKETMQ-17";>JIRA</a></p>
 
 <aside class="sidebar__right">
 <nav class="toc">
@@ -472,44 +469,44 @@
 </aside>
 
 <h3 id="message-filtering">Message Filtering</h3>
-<p>So far, RocketMQ only support message filtering feature by <code 
class="highlighter-rouge">TAG</code>, but one message only can own one tag, 
this is too limited to meet complex business requirements.</p>
+<p>So far, RocketMQ only supports message filtering feature by <code 
class="highlighter-rouge">TAG</code>, but one message can only own one tag, 
which is too limited to meet complex business requirements.</p>
 
 <p>So, we want to define and implement a reasonable filter language based on a 
subset of the SQL 92 expression syntax to support customized message filtering. 
<a href="https://issues.apache.org/jira/browse/ROCKETMQ-121";>JIRA</a></p>
 
 <h3 id="batch-messaging">Batch Messaging</h3>
 
-<p>In order to use RocketMQ in big data related scenarios, batch messaging is 
necessary, which will bring million-level TPS for RocketMQ. <a 
href="https://issues.apache.org/jira/browse/ROCKETMQ-80";>JIRA</a>, <a 
href="https://github.com/apache/incubator-rocketmq/pull/53";>PR</a></p>
+<p>In order to use RocketMQ in big data related scenarios, batch messaging is 
necessary and will bring million-level TPS for RocketMQ. <a 
href="https://issues.apache.org/jira/browse/ROCKETMQ-80";>JIRA</a>, <a 
href="https://github.com/apache/incubator-rocketmq/pull/53";>PR</a></p>
 
 <h3 id="consistent-hash-allocate-strategychas">Consistent Hash Allocate 
Strategy(CHAS)</h3>
 
-<p>Consumer clients use the average allocate strategy by far, which is very 
sensitive when clients register or unregister continually.</p>
+<p>Consumer clients use the average allocate strategy by far, which is very 
sensitive when clients register or unregister continuously.</p>
 
-<p>A Consistent Hash allocate strategy is valuable for the developer who cares 
more about stabilization than averaging.</p>
+<p>A Consistent Hash allocate strategy is valuable for developers who care 
more about stabilization than averaging.</p>
 
-<p>So it’s better for us to support CHAS as a extra choice in consumer load 
balancing. <a 
href="https://issues.apache.org/jira/browse/ROCKETMQ-67";>JIRA</a>, <a 
href="https://github.com/apache/incubator-rocketmq/pull/67";>PR</a></p>
+<p>So we decided to support CHAS as an extra choice in consumer load 
balancing. <a 
href="https://issues.apache.org/jira/browse/ROCKETMQ-67";>JIRA</a>, <a 
href="https://github.com/apache/incubator-rocketmq/pull/67";>PR</a></p>
 
 <h3 id="global-order-messaging">Global Order Messaging</h3>
 
 <p>As we know, messages in the same queue can be consumed sequentially. So we 
always send the congeneric messages to the same queue to guarantee ordering, 
which will cause hot-point issue.</p>
 
-<p>So It’s cool if we support a new global order messaging mechanism, 
without hot-points problem. <a 
href="https://issues.apache.org/jira/browse/ROCKETMQ-122";>JIRA</a></p>
+<p>So it’d be cool if we can support a new global order messaging mechanism 
without the hot-point problem. <a 
href="https://issues.apache.org/jira/browse/ROCKETMQ-122";>JIRA</a></p>
 
 <h3 id="distributed-transaction-messaging">Distributed Transaction 
Messaging</h3>
-<p>Undoubtedly, transaction messaging is very frequently-used in most 
business.</p>
+<p>Undoubtedly, transaction messaging is frequently used in most business.</p>
 
-<p>But it is unfortunate that users must implement transaction mechanism by 
themselves until now, may be they need DataBase to implement it.</p>
+<p>But users have to implement transaction mechanism by themselves for now, so 
there is a potential need of a database implementation to solve the problem.</p>
 
-<p>It’s time to support distributed transaction messaging to make it 
convenient for the user, help them handle complex business with skill and ease. 
<a href="https://issues.apache.org/jira/browse/ROCKETMQ-123";>JIRA</a></p>
+<p>Now we can support distributed transaction messaging to make it convenient 
for the users and help them handle complex business. <a 
href="https://issues.apache.org/jira/browse/ROCKETMQ-123";>JIRA</a></p>
 
 <h3 id="non-redundant-message-delivery-mechanism">Non-Redundant Message 
Delivery Mechanism</h3>
 
-<p>The duplicated messages are worrisome. It will cost much if user need 
non-repeating messages.</p>
+<p>The duplicated messages will impose extra cost if user needs non-repeating 
messages.</p>
 
-<p>In most cases, user need store the consume records to judge a message is 
replicated or not, and the store stage should guarantee strong consistency. As 
you see, it’s very complicated, so support a strict and non-redundant message 
delivery mechanism is impending. <a 
href="https://issues.apache.org/jira/browse/ROCKETMQ-124";>JIRA</a></p>
+<p>In most cases, user needs to store the consume records to determine if a 
message is duplicated, and the store stage should guarantee consistency. So we 
need to support a strict and non-redundant message delivery mechanism. <a 
href="https://issues.apache.org/jira/browse/ROCKETMQ-124";>JIRA</a></p>
 
 <h3 id="intellective-ha-architecture">Intellective HA Architecture</h3>
 
-<p>RocketMQ uses master-slave as HA architecture, which has low latency and 
high throughput features, but this program need human intervention to recover 
from abnormal situations.</p>
+<p>RocketMQ uses master-slave as HA architecture, which has low latency and 
high throughput, but this program needs human intervention to recover from 
abnormal situations.</p>
 
 <p>So, we want to support a multi-replication high availability/reliability 
mechanism, without human intervention. <a 
href="https://issues.apache.org/jira/browse/ROCKETMQ-125";>JIRA</a></p>
 
@@ -523,7 +520,7 @@
 
 <ol>
   <li>Support more application layer protocol: WebSocket, HTTP2, etc.</li>
-  <li>Support more native language SDK: PHP, Python, .Net, Node, Go, etc. The 
chosen programming languages are the result of surveying many cloud 
platforms.</li>
+  <li>Support more native language SDK: PHP, Python, .Net, Node, Go, etc. The 
chosen programming languages are based on the investigation of many cloud 
platforms.</li>
   <li>Support advanced message queuing protocol(AMQP).</li>
 </ol>
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/5b69a90f/content/docs/schedule-example/index.html
----------------------------------------------------------------------
diff --git a/content/docs/schedule-example/index.html 
b/content/docs/schedule-example/index.html
index 162ac02..e02a28c 100644
--- a/content/docs/schedule-example/index.html
+++ b/content/docs/schedule-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>
     

Reply via email to