storm-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexis Sukrieh <suk...@gmail.com>
Subject How to recover from a Spout excpetion?
Date Thu, 22 May 2014 18:59:48 GMT
Hi,

I have built a topology with a spout that connects to Twitter's streaming
API (with twitter4j), I have also 4 bolts that count words inside.

This is mainly a proof of concept for me, in order to get up to speed with
Storm.

So far, it's working fine... until my Spout gets an exception from
twitter4j:

java.lang.RuntimeException: java.lang.RuntimeException:
java.io.NotSerializableException: twitter4j.ScopesImpl

When this happens, my topology is somehow broken: the Redis database
that gets updated by the last bolt is not updated anymore.

All I can do is killing the topology and submit it again. That's a bit
annoying as I'd like my topology to never stops running.

I'd like to understand how to catch this exception, and make sure my
topology is protected against invalid tuples.

In the Spout class, I really don't see how I could catch the exception.

Any help is more than welcome.


Thanks.


-- 
Alexis Sukrieh

Mime
View raw message