You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by Ankur Garg <an...@gmail.com> on 2015/10/20 12:59:47 UTC

Application Hangs inside Spout and Bolts

Hi ,

In my spout I am starting a spring boot application which basically
initialises all the beans and classes .

Whenever I start the topology in remote cluster , the moment this spring
application runs inside the open method of my Spout , I see that the
topology hangs and I see no errors  and no output in my worker logs from my
application . After sometime the same messages appear in my log file
(albeit with new timestamp) . What may be causing this issue in the cluster
.

On Local Cluster though which i run inside my eclipse , everything works
fine .

Also , Where can I see log messages from my application . I can only see
log messages from Spouts and Bolts inside worker logs . But what about the
other logs which my application prints . Is their something which I need to
configure from my end ??

This is what I am doing inside open method for the Spout =>

LOG.info("Inside Synchrnized block for Storm Context");

          ApplicationContext context = new
AnnotationConfigWebApplicationContext();

          LOG.info("Inside Create Application Context block for Storm
Context");

          SpringApplicationBuilder appBuilder = new
SpringApplicationBuilder(Application.class);

          LOG.info("Loading Profiles ");

          context = (ApplicationContext) appBuilder.profiles("common",
"common_rabbitmq","common_mongo_db", "common_mysql_db",


"common_topology").run();

          LOG.info("Set the Storm Context ");


In my worker logs I can only see logs  generated as

LOG.info("Inside Synchrnized block for Storm Context");
 LOG.info("Loading Profiles ");

And the application hangs after printing this . It never returns from the
run method and never prints        LOG.info("Set the Storm Context ");

PS=> The run method here appBuilder.profiles("common","common_rabbitmq",
"common_mongo_db", "common_mysql_db",


"common_topology").run();  is not to run it on a different thread (It is
not launching it in different thread) rather it does work on the same
thread Spout is on.


Any help is appreciated and required :)


Thanks

Ankur