Storm is by default stateless.  If you have state to store it is up to you to 
store that state in an external system, in a way that meets your topologies 
requirements.  At least one vs at most once.  In newer versions of storm the 
concept of stateful bolts was added.
http://storm.apache.org/releases/1.0.3/State-checkpointing.html
is the documentation for that feature.  It still saves the state in an external 
system (that you can pick) but also helps to fix some of the complexity 
associated with checkpointing and restoring state in line with replay of failed 
messages.

- Bobby


On Friday, August 4, 2017, 12:45:17 AM CDT, ? ?? <[email protected]> 
wrote:

#yiv5765339309 body {line-height:1.5;}#yiv5765339309 body 
{font-size:10.5pt;font-family:'Microsoft YaHei UI';color:rgb(0, 0, 
0);line-height:1.5;}Hi,
    It is observed that the executor of a task changes to a different worker on 
 a different supervisor. And the computation, which is similar to wordcount,  
stops and starts over. After several tests, I find that this is caused by the 
lost of the task state during executor change. So I wonder:   
   - Why does the change happen?
   - When the change happen, does the executor use a new component(bolt) 
instance? How does the instance come into being? By constructor or 
deserialization?
   - In this case, how to persist the task state?
[email protected]

Reply via email to