You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "Jungtaek Lim (JIRA)" <ji...@apache.org> on 2015/06/18 00:08:01 UTC

[jira] [Created] (STORM-872) Expose interfaces to give users opportunity to customize "executor" heartbeat module

Jungtaek Lim created STORM-872:
----------------------------------

             Summary: Expose interfaces to give users opportunity to customize "executor" heartbeat module
                 Key: STORM-872
                 URL: https://issues.apache.org/jira/browse/STORM-872
             Project: Apache Storm
          Issue Type: Improvement
            Reporter: Jungtaek Lim


I have seen many papers and slides addressing heartbeat timeout, and most of these point out ZK is the reason.

- Storm@Twitter, SIGMOD 2014 : http://db.cs.berkeley.edu/cs286/papers/storm-sigmod2014.pdf
- Scaling Storm, Hadoop Summit 2015 : https://github.com/revans2/storm-presentations/blob/master/Haddop_Summit_2015_Scaling_Storm.pptx
- and so on.

ZK has a hard limit of throughput and reading / writing disk is the matter.
Throughput would be far more better when we're dealing worker heartbeat with in-memory storage directly, or heartbeat daemon which can scale well.
(Trade-off could be made.)

If we can open the interface of worker heartbeat module, and give users opportunities to customize it, it would be really great.

- Why I'm narrowing heartbeat to "worker" only?
-- I was thinking "supervisor" heartbeat too, but it uses ephemeral node of ZK, which is normally not supported to other storage. 
-- And in Scaling Storm, p15, about 99.2% of ZK workload is worker heartbeats. I think ZK can take care of supervisor heartbeat without problem.
--- default of "supervisor.heartbeat.frequency.secs" is 5
--- default of "task.heartbeat.frequency.secs" is 3
--- I didn't mention "worker to supervisor" heartbeat cause it uses local file system.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)