This is an automated email from the ASF dual-hosted git repository.

junma pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 1381c894932 fix doc (#429)
1381c894932 is described below

commit 1381c894932b95da1a7a7bd908f731c20e9c1a18
Author: labuladong <[email protected]>
AuthorDate: Wed Feb 22 15:00:59 2023 +0800

    fix doc (#429)
---
 docs/concepts-messaging.md                         | 23 +++++++++++-----------
 .../version-2.11.x/concepts-messaging.md           | 23 +++++++++++-----------
 2 files changed, 22 insertions(+), 24 deletions(-)

diff --git a/docs/concepts-messaging.md b/docs/concepts-messaging.md
index 11fa5f009f2..e4d5826af73 100644
--- a/docs/concepts-messaging.md
+++ b/docs/concepts-messaging.md
@@ -215,7 +215,7 @@ consumer.acknowledge(message);
 
 ### Retry letter topic
 
-Retry letter topic allows you to store the messages that failed to be consumed 
and retry consuming them later. With this method, you can customize the 
interval at which the messages are redelivered. Consumers on the original topic 
are automatically subscribed to the retry letter topic as well. Once the 
maximum number of retries has been reached, the unconsumed messages are moved 
to a [dead letter topic](#dead-letter-topic) for manual processing. The 
functionality of a retry letter topic  [...]
+Retry letter topic allows you to store the messages that failed to be consumed 
and retry consuming them later. With this method, you can customize the 
interval at which the messages are redelivered. Consumers on the original topic 
are automatically subscribed to the retry letter topic as well. Once the 
maximum number of retries has been reached, the unconsumed messages are moved 
to a [dead letter topic](#dead-letter-topic) for manual processing. The 
functionality of a retry letter topic  [...]
 
 The diagram below illustrates the concept of the retry letter topic.
 ![](/assets/retry-letter-topic.svg)
@@ -301,7 +301,7 @@ consumer.reconsumeLater(msg, customProperties, 3, 
TimeUnit.SECONDS);
 
 ### Dead letter topic
 
-Dead letter topic allows you to continue message consumption even when some 
messages are not consumed successfully. The messages that have failed to be 
consumed are stored in a specific topic, which is called the dead letter topic. 
The functionality of a dead letter topic is implemented by consumers. You can 
decide how to handle the messages in the dead letter topic. 
+Dead letter topic allows you to continue message consumption even when some 
messages are not consumed successfully. The messages that have failed to be 
consumed are stored in a specific topic, which is called the dead letter topic. 
The functionality of a dead letter topic is implemented by consumers. You can 
decide how to handle the messages in the dead letter topic.
 
 Enable dead letter topic in a Java client using the default dead letter topic.
 
@@ -417,7 +417,6 @@ With message chunking enabled, when the size of a message 
exceeds the allowed ma
 
 **Limitations:**
 - Chunking is only available for persisted topics.
-- Chunking is only available for the exclusive and failover subscription types.
 - Chunking cannot be enabled simultaneously with batching.
 
 #### Handle consecutive chunked messages with one ordered consumer
@@ -543,17 +542,17 @@ In the diagram below, **Consumer A**, **Consumer B** and 
**Consumer C** are all
 
 #### Key_Shared
 
-In the *Key_Shared* type, multiple consumers can attach to the same 
subscription. Messages are delivered in distribution across consumers and 
messages with the same key or same ordering key are delivered to only one 
consumer. No matter how many times the message is re-delivered, it is delivered 
to the same consumer. 
+In the *Key_Shared* type, multiple consumers can attach to the same 
subscription. Messages are delivered in distribution across consumers and 
messages with the same key or same ordering key are delivered to only one 
consumer. No matter how many times the message is re-delivered, it is delivered 
to the same consumer.
 
 ![Key_Shared subscriptions](/assets/pulsar-key-shared-subscriptions.svg)
 
 There are three types of mapping algorithms dictating how to select a consumer 
for a given message key (or ordering key): Sticky, Auto-split Hash Range, and 
Auto-split Consistent Hashing. The steps for all algorithms are:
-1. The message key (or ordering key) is passed to a hash function (e.g., 
Murmur3 32-bit), yielding a 32-bit integer hash. 
+1. The message key (or ordering key) is passed to a hash function (e.g., 
Murmur3 32-bit), yielding a 32-bit integer hash.
 2. That hash number is fed to the algorithm to select a consumer from the 
existing connected consumers.
 
 ```
                       +--------------+                              
+-----------+
-Message Key ----->  / Hash Function / ----- hash (32-bit) -------> / Algorithm 
/ ----> Consumer   
+Message Key ----->  / Hash Function / ----- hash (32-bit) -------> / Algorithm 
/ ----> Consumer
                    +---------------+                               +----------+
 ```
 
@@ -605,7 +604,7 @@ C1 is disconnected:
 |------- C3 ------|-------------------------- C2 -----------------------|
 ```
 
-The advantages of this algorithm is that it affects only a single existing 
consumer upon add/delete consumer, at the expense of regions not evenly sized. 
Thi means some consumers gets more keys that others. The next algorithm does 
the other way around. 
+The advantages of this algorithm is that it affects only a single existing 
consumer upon add/delete consumer, at the expense of regions not evenly sized. 
Thi means some consumers gets more keys that others. The next algorithm does 
the other way around.
 
 ##### Auto-split Consistent Hashing
 
@@ -638,7 +637,7 @@ When adding a consumer, we mark 100 points on that circle 
and associate them to
 Since the hash function has the uniform distribution attribute, those points 
would be uniformly distributed across the circle.
 
 ```
-    C1-100                 
+    C1-100
          , - ~ ~ ~ - ,   C1-1
      , '               ' ,
    ,                       ,
@@ -650,7 +649,7 @@ Since the hash function has the uniform distribution 
attribute, those points wou
    ,                       ,
      ,                  , '
        ' - , _ _ _ ,  '      ...
- 
+
 ```
 
 A consumer is selected for a given message key by putting its hash on the 
circle then continue clock-wise on the circle until you reach a marking point. 
The point might have more than one consumer on it (hash function might have 
collisions) there for, we run the following operation to get a position within 
the list of consumers for that point, then we take the consumer in that 
position: `hash % consumer_list_size = index`.
@@ -669,7 +668,7 @@ Suppose we have 2 consumers (C1 and C2) each specified 
their ranges, then:
 ```
 C1 = [0, 16384), [32768, 49152)
 C2 = [16384, 32768), [49152, 65536)
- 
+
  0               16,384            32,768           49,152             65,536
  |------- C1 ------|------- C2 ------|------- C1 ------|------- C2 ------|
 ```
@@ -680,7 +679,7 @@ If the newly connected consumer didn't supply their ranges, 
or they overlap with
 
 ##### How to use them?
 
-When building the consumer, you can specify the Key Shared Mode: 
+When building the consumer, you can specify the Key Shared Mode:
 * AUTO_SPLIT - Auto-split Hash Range
 * STICKY - Sticky
 
@@ -696,7 +695,7 @@ That requirement can be relaxed by enabling 
`allowOutOfOrderDelivery` via the Co
 
 :::note
 
-When the consumers are using the Key_Shared subscription type, you need to 
**disable batching** or **use key-based batching** for the producers. 
+When the consumers are using the Key_Shared subscription type, you need to 
**disable batching** or **use key-based batching** for the producers.
 :::
 
 There are two reasons why the key-based batching is necessary for the 
Key_Shared subscription type:
diff --git a/versioned_docs/version-2.11.x/concepts-messaging.md 
b/versioned_docs/version-2.11.x/concepts-messaging.md
index a1dc0f002cb..1d549b79c79 100644
--- a/versioned_docs/version-2.11.x/concepts-messaging.md
+++ b/versioned_docs/version-2.11.x/concepts-messaging.md
@@ -145,7 +145,6 @@ With message chunking enabled, when the size of a message 
exceeds the allowed ma
 
 **Limitations:**
 - Chunking is only available for persisted topics.
-- Chunking is only available for the exclusive and failover subscription types.
 - Chunking cannot be enabled simultaneously with batching.
 
 #### Handle consecutive chunked messages with one ordered consumer
@@ -362,7 +361,7 @@ consumer.acknowledge(message);
 
 ### Retry letter topic
 
-Retry letter topic allows you to store the messages that failed to be consumed 
and retry consuming them later. With this method, you can customize the 
interval at which the messages are redelivered. Consumers on the original topic 
are automatically subscribed to the retry letter topic as well. Once the 
maximum number of retries has been reached, the unconsumed messages are moved 
to a [dead letter topic](#dead-letter-topic) for manual processing. The 
functionality of a retry letter topic  [...]
+Retry letter topic allows you to store the messages that failed to be consumed 
and retry consuming them later. With this method, you can customize the 
interval at which the messages are redelivered. Consumers on the original topic 
are automatically subscribed to the retry letter topic as well. Once the 
maximum number of retries has been reached, the unconsumed messages are moved 
to a [dead letter topic](#dead-letter-topic) for manual processing. The 
functionality of a retry letter topic  [...]
 
 The diagram below illustrates the concept of the retry letter topic.
 ![](/assets/retry-letter-topic.svg)
@@ -448,7 +447,7 @@ consumer.reconsumeLater(msg, customProperties, 3, 
TimeUnit.SECONDS);
 
 ### Dead letter topic
 
-Dead letter topic allows you to continue message consumption even when some 
messages are not consumed successfully. The messages that have failed to be 
consumed are stored in a specific topic, which is called the dead letter topic. 
The functionality of a dead letter topic is implemented by consumers. You can 
decide how to handle the messages in the dead letter topic. 
+Dead letter topic allows you to continue message consumption even when some 
messages are not consumed successfully. The messages that have failed to be 
consumed are stored in a specific topic, which is called the dead letter topic. 
The functionality of a dead letter topic is implemented by consumers. You can 
decide how to handle the messages in the dead letter topic.
 
 Enable dead letter topic in a Java client using the default dead letter topic.
 
@@ -598,17 +597,17 @@ In the diagram below, **Consumer A**, **Consumer B** and 
**Consumer C** are all
 
 #### Key_Shared
 
-In the *Key_Shared* type, multiple consumers can attach to the same 
subscription. Messages are delivered in distribution across consumers and 
messages with the same key or same ordering key are delivered to only one 
consumer. No matter how many times the message is re-delivered, it is delivered 
to the same consumer. 
+In the *Key_Shared* type, multiple consumers can attach to the same 
subscription. Messages are delivered in distribution across consumers and 
messages with the same key or same ordering key are delivered to only one 
consumer. No matter how many times the message is re-delivered, it is delivered 
to the same consumer.
 
 ![Key_Shared subscriptions](/assets/pulsar-key-shared-subscriptions.svg)
 
 There are three types of mapping algorithms dictating how to select a consumer 
for a given message key (or ordering key): Sticky, Auto-split Hash Range, and 
Auto-split Consistent Hashing. The steps for all algorithms are:
-1. The message key (or ordering key) is passed to a hash function (e.g., 
Murmur3 32-bit), yielding a 32-bit integer hash. 
+1. The message key (or ordering key) is passed to a hash function (e.g., 
Murmur3 32-bit), yielding a 32-bit integer hash.
 2. That hash number is fed to the algorithm to select a consumer from the 
existing connected consumers.
 
 ```
                       +--------------+                              
+-----------+
-Message Key ----->  / Hash Function / ----- hash (32-bit) -------> / Algorithm 
/ ----> Consumer   
+Message Key ----->  / Hash Function / ----- hash (32-bit) -------> / Algorithm 
/ ----> Consumer
                    +---------------+                               +----------+
 ```
 
@@ -660,7 +659,7 @@ C1 is disconnected:
 |------- C3 ------|-------------------------- C2 -----------------------|
 ```
 
-The advantages of this algorithm is that it affects only a single existing 
consumer upon add/delete consumer, at the expense of regions not evenly sized. 
Thi means some consumers gets more keys that others. The next algorithm does 
the other way around. 
+The advantages of this algorithm is that it affects only a single existing 
consumer upon add/delete consumer, at the expense of regions not evenly sized. 
Thi means some consumers gets more keys that others. The next algorithm does 
the other way around.
 
 ##### Auto-split Consistent Hashing
 
@@ -693,7 +692,7 @@ When adding a consumer, we mark 100 points on that circle 
and associate them to
 Since the hash function has the uniform distribution attribute, those points 
would be uniformly distributed across the circle.
 
 ```
-    C1-100                 
+    C1-100
          , - ~ ~ ~ - ,   C1-1
      , '               ' ,
    ,                       ,
@@ -705,7 +704,7 @@ Since the hash function has the uniform distribution 
attribute, those points wou
    ,                       ,
      ,                  , '
        ' - , _ _ _ ,  '      ...
- 
+
 ```
 
 A consumer is selected for a given message key by putting its hash on the 
circle then continue clock-wise on the circle until you reach a marking point. 
The point might have more than one consumer on it (hash function might have 
collisions) there for, we run the following operation to get a position within 
the list of consumers for that point, then we take the consumer in that 
position: `hash % consumer_list_size = index`.
@@ -724,7 +723,7 @@ Suppose we have 2 consumers (C1 and C2) each specified 
their ranges, then:
 ```
 C1 = [0, 16384), [32768, 49152)
 C2 = [16384, 32768), [49152, 65536)
- 
+
  0               16,384            32,768           49,152             65,536
  |------- C1 ------|------- C2 ------|------- C1 ------|------- C2 ------|
 ```
@@ -735,7 +734,7 @@ If the newly connected consumer didn't supply their ranges, 
or they overlap with
 
 ##### How to use them?
 
-When building the consumer, you can specify the Key Shared Mode: 
+When building the consumer, you can specify the Key Shared Mode:
 * AUTO_SPLIT - Auto-split Hash Range
 * STICKY - Sticky
 
@@ -751,7 +750,7 @@ That requirement can be relaxed by enabling 
`allowOutOfOrderDelivery` via the Co
 
 :::note
 
-When the consumers are using the Key_Shared subscription type, you need to 
**disable batching** or **use key-based batching** for the producers. 
+When the consumers are using the Key_Shared subscription type, you need to 
**disable batching** or **use key-based batching** for the producers.
 :::
 
 There are two reasons why the key-based batching is necessary for the 
Key_Shared subscription type:

Reply via email to