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

ethanli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/storm.git


The following commit(s) were added to refs/heads/master by this push:
     new 8e03772  [MINOR] Fix broken javadoc link in Concepts (#3270)
8e03772 is described below

commit 8e037721dfee166bcfc113da662caaa6b11d9b2d
Author: DONGYEON LEE <[email protected]>
AuthorDate: Tue May 19 03:19:30 2020 +0900

    [MINOR] Fix broken javadoc link in Concepts (#3270)
---
 docs/Concepts.md | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/docs/Concepts.md b/docs/Concepts.md
index f810d36..fd8fa88 100644
--- a/docs/Concepts.md
+++ b/docs/Concepts.md
@@ -55,9 +55,9 @@ The other main methods on spouts are `ack` and `fail`. These 
are called when Sto
 
 ### Bolts
 
-All processing in topologies is done in bolts. Bolts can do anything from 
filtering, functions, aggregations, joins, talking to databases, and more. 
+All processing in topologies is done in bolts. Bolts can do anything from 
filtering, functions, aggregations, joins, talking to databases, and more.
 
-Bolts can do simple stream transformations. Doing complex stream 
transformations often requires multiple steps and thus multiple bolts. For 
example, transforming a stream of tweets into a stream of trending images 
requires at least two steps: a bolt to do a rolling count of retweets for each 
image, and one or more bolts to stream out the top X images (you can do this 
particular stream transformation in a more scalable way with three bolts than 
with two). 
+Bolts can do simple stream transformations. Doing complex stream 
transformations often requires multiple steps and thus multiple bolts. For 
example, transforming a stream of tweets into a stream of trending images 
requires at least two steps: a bolt to do a rolling count of retweets for each 
image, and one or more bolts to stream out the top X images (you can do this 
particular stream transformation in a more scalable way with three bolts than 
with two).
 
 Bolts can emit more than one stream. To do so, declare multiple streams using 
the `declareStream` method of 
[OutputFieldsDeclarer](javadocs/org/apache/storm/topology/OutputFieldsDeclarer.html)
 and specify the stream to emit to when using the `emit` method on 
[OutputCollector](javadocs/org/apache/storm/task/OutputCollector.html).
 
@@ -86,7 +86,7 @@ There are eight built-in stream groupings in Storm, and you 
can implement a cust
 4. **All grouping**: The stream is replicated across all the bolt's tasks. Use 
this grouping with care.
 5. **Global grouping**: The entire stream goes to a single one of the bolt's 
tasks. Specifically, it goes to the task with the lowest id.
 6. **None grouping**: This grouping specifies that you don't care how the 
stream is grouped. Currently, none groupings are equivalent to shuffle 
groupings. Eventually though, Storm will push down bolts with none groupings to 
execute in the same thread as the bolt or spout they subscribe from (when 
possible).
-7. **Direct grouping**: This is a special kind of grouping. A stream grouped 
this way means that the __producer__ of the tuple decides which task of the 
consumer will receive this tuple. Direct groupings can only be declared on 
streams that have been declared as direct streams. Tuples emitted to a direct 
stream must be emitted using one of the 
[emitDirect](javadocs/org/apache/storm/task/OutputCollector.html#emitDirect(int,
 int, java.util.List) methods. A bolt can get the task ids of its  [...]
+7. **Direct grouping**: This is a special kind of grouping. A stream grouped 
this way means that the __producer__ of the tuple decides which task of the 
consumer will receive this tuple. Direct groupings can only be declared on 
streams that have been declared as direct streams. Tuples emitted to a direct 
stream must be emitted using one of the 
[emitDirect](javadocs/org/apache/storm/task/OutputCollector.html#emitDirect-int-java.util.Collection-java.util.List-)
 methods. A bolt can get the  [...]
 8. **Local or shuffle grouping**: If the target bolt has one or more tasks in 
the same worker process, tuples will be shuffled to just those in-process 
tasks. Otherwise, this acts like a normal shuffle grouping.
 
 **Resources:**
@@ -96,11 +96,11 @@ There are eight built-in stream groupings in Storm, and you 
can implement a cust
 
 ### Reliability
 
-Storm guarantees that every spout tuple will be fully processed by the 
topology. It does this by tracking the tree of tuples triggered by every spout 
tuple and determining when that tree of tuples has been successfully completed. 
Every topology has a "message timeout" associated with it. If Storm fails to 
detect that a spout tuple has been completed within that timeout, then it fails 
the tuple and replays it later. 
+Storm guarantees that every spout tuple will be fully processed by the 
topology. It does this by tracking the tree of tuples triggered by every spout 
tuple and determining when that tree of tuples has been successfully completed. 
Every topology has a "message timeout" associated with it. If Storm fails to 
detect that a spout tuple has been completed within that timeout, then it fails 
the tuple and replays it later.
 
 To take advantage of Storm's reliability capabilities, you must tell Storm 
when new edges in a tuple tree are being created and tell Storm whenever you've 
finished processing an individual tuple. These are done using the 
[OutputCollector](javadocs/org/apache/storm/task/OutputCollector.html) object 
that bolts use to emit tuples. Anchoring is done in the `emit` method, and you 
declare that you're finished with a tuple using the `ack` method.
 
-This is all explained in much more detail in [Guaranteeing message 
processing](Guaranteeing-message-processing.html). 
+This is all explained in much more detail in [Guaranteeing message 
processing](Guaranteeing-message-processing.html).
 
 ### Tasks
 

Reply via email to