Hello All,
We are working on a storm cluster which is listening from a kafka queue. Our 
requirement is to do retry on bolt execution(on exception) for a specified 
number of times. After these retries the messages should be moved to Database. 
In the previous release we were doing a fieldsGrouping and maintaining a hash 
map to track the retry count but this was causing major performance impact. We 
will have to do shuffleGrouping for maximum throughput. What is the best 
possible way to implement this. The following options are considered.

1)      Maintain the retry count status in database(might be a performance 
issue)

2)      Maintain the retry count status in external caches( like elasticache in 
Amazon AWS), however it might be expensive

3)      Maintain the retry count status in message itself and repost the 
message to queue. Also ignoring the exception occurred in bolt to make in 
success.

We are not considering exponential retry inside bolt itself as it might also 
cause performance issues.

Please advice which one is best and if there is a better way to do detail the 
same.

Thanks and Regards
Kailas  J C
RCL | Infosys Trivandrum
Office : +91-4713024230
Mob : +91-9497891540
[Description: Description: InfyLoGo]

Reply via email to