Corey,

Have you tried using the integration testing framework that comes with
storm?


Testing.withSimulatedTimeLocalCluster(mkClusterParam,
 new TestJob() {
@Override
public void run(ILocalCluster cluster) throws Exception {

CompleteTopologyParam completeTopologyParam = new CompleteTopologyParam();
completeTopologyParam
.setMockedSources(mockedSources);
 completeTopologyParam.setStormConf(daemonConf);

completeTopologyParam.setTopologyName(getTopologyName());
Map result = Testing.completeTopology(cluster,
 topology, completeTopologyParam);

});

-Vincent

On Mon, Aug 4, 2014 at 8:49 PM, Corey Nolet <cjno...@gmail.com> wrote:

> I'm testing some sliding window algorithms with tuples emitted from a mock
> spout based on a timer but the amount of time it takes the topology to
> fully start up and activate seems to vary from computer to computer.
> Specifically, I just updated from 0.8.2 to 0.9.2-incubating and all of my
> tests are breaking because the time to activate the topology is taking
> longer (because of Netty possibly?). I'd like to make my tests more
> resilient to things like this.
>
> Is there something I can look at in LocalCluster where I could do
> "while(!notActive) { Thread.sleep(50) }" ?
>
> This is what my test looks like currently:
>
>       StormTopology topology = buildTopology(...);
>       Config conf = new Config();
>       conf.setNumWorkers(1);
>
>       LocalCluster cluster = new LocalCluster();
>       cluster.submitTopology(getTopologyName(), conf, topology);
>
>       try {
>         Thread.sleep(4000);
>       } catch (InterruptedException e) {
>         e.printStackTrace();
>       }
>
>       cluster.shutdown();
>
>       assertEquals(4, MockSinkBolt.getEvents().size());
>
>
>
> Thanks!
>
>
>

Reply via email to