java - Apache Storm - Spout/Bolt crashing with high latency -


while using storm 1.1.0 topology faced problem, storm reschedules or let bolts , spouts crash, when topology has bolt high latency.

now created latencytest-topology testing , playing around problem.

i have spout, emit random values:

public void nexttuple() {     outputcollector.emit(new values(math.random())); } 

and have bolt, recieves these values , sleeps specific time.

public void execute(tuple tuple) {     double input = tuple.getdouble(0);     try {         thread.sleep(this.latencyms);     } catch (interruptedexception e) {         e.printstacktrace();     }     outputcollector.ack(tuple); } 

so if set latencyms 10, can see, storm works "fine" (just 2000 acked tuples in bolt)for 3 minutes. bolts latency goes 60-100ms instead of 10ms , storm starts "reassign" (log in nimbus) executors. statistics in ui going 0.

image 1: no crash , 2000 tuples acked high latency

image 2: crashed no information in ui

since working files in spout of real topology, not acceptable reopen these.

i played around timeout values in storm.yaml , "config.setmaxspoutpending(200);" option, nothing seems have effect. using 3 node zookeeper cluster , 5 node storm cluster test.

do have ideas how solve or understand this? need storm go on, if latency high.

maxspoutpending not timeout config, should config topology.message.timeout.


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -