> every task have its own state which gets lost on rebalance operation

The state is not lost as long as the number of tasks remain the same. The state 
is typically backed by persistent store (like redis).

 

> 1- How this state correlates to <key,val> pair in these stateful tasks 
> mentioned in the links. Is it separate for every task ?

Each state instance belongs to a “namespace”, which is currently mapped to the 
task-id. So each task gets a separate state (e.g. a separate k-v map). But all 
of it could be stored in the same store underneath (e.g. different redis maps 
in the same redis cluster).

 

2- Whats is the impact fo rebalance operation on these bolts.

 

As long as the number of tasks does not change there is no effect. The tasks 
may get re-assigned to different workers, but would still be mapped to the same 
state since its task id does not change. 

 

- Arun

 

 

From: anshu shukla <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Tuesday, February 7, 2017 at 4:28 PM
To: "[email protected]" <[email protected]>
Subject: Re: implmement state management with Apache Ignite

 

Hey , 

 

Nice discussion, but as per my knowledge, every task have its own state which 
gets lost on rebalance operation(this is the reason why tasks can not be 
increased at run time).

Mentioned @ https://github.com/apache/storm/pull/1874

 

So I have 2 questions - 

1- How this state correlates to <key,val> pair in these stateful tasks 
mentioned in the links. Is it separate for every task ?

2- Whats is the impact fo rebalance operation on these bolts.

 

 

On Tue, Feb 7, 2017 at 11:40 AM, Arun Mahadevan <[email protected]> wrote:

> #1 when a worker is died or killed by manually, storm framework will restart 
> this worker, is there a ID which doesn't change for the new worker and the 
> died worker?  if there is, how to get it?

Task Id does not change. The worker can be restarted in the same or different 
host and the tasks would be reassigned.

 

> #2 when a worker is died, is there a case storm framework can't start a new 
> worker? In this case, how about the grouped message handled by this worker, 
> it will auto take over by other workers?   

As long as the state is per task it can be handled by other worker.

 

> #3 suppose we have started a topology with 3 workers, rebalance topology can 
> change the worker numbers?

Rebalance can change the number of workers, but the overall number of tasks 
remains the same. Only that the task assignment to workers could change.

 

Not sure if you are building something different, but storm already has basic 
support for stateful bolts (see 
https://github.com/apache/storm/blob/master/docs/State-checkpointing.md).

Thanks,

Arun

 

 

From: "shawn.du" <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Tuesday, February 7, 2017 at 11:25 AM
To: user <[email protected]>
Subject: implmement state management with Apache Ignite

 

Hi community,

 

Recently we are trying implement state management using apache ignite.

Before do the real work, I have several questions, please help.

 

#1 when a worker is died or killed by manually, storm framework will restart 
this worker, is there a ID which doesn't change for the new worker and the died 
worker?  if there is, how to get it?

#2 when a worker is died, is there a case storm framework can't start a new 
worker? In this case, how about the grouped message handled by this worker, it 
will auto take over by other workers?   

#3 suppose we have started a topology with 3 workers, rebalance topology can 
change the worker numbers?

 

Thanks

Shawn

 



 

-- 

Thanks & Regards,
Anshu Shukla

Reply via email to