[ 
https://issues.apache.org/jira/browse/STORM-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15167233#comment-15167233
 ] 

Abhishek Agarwal commented on STORM-1279:
-----------------------------------------

My suggestion would be to break down supervisor implementation into two 
classes. DistributedSupervisor and LocalSupervisor. They can inherit a common 
class called BaseSupervisor in which launchWorker and downloadStormCode will be 
the abstract functions. LocalSupervisor can remain in clojure and 
DistributedSupervisor can be migrated to java. You will migrate LocalSupervisor 
once the worker code has been ported over. You can also have just two classes 
Supervisor (distributed) and LocalSupervisor. LocalSupervisor will be a 
sub-class of Supervisor and will override `launchWorker` and 
`downloadStormCode` methods. 

In my opinion, the separation of local mode and distributed mode code should be 
done for sure. And this can help you with the clojure code as well. 

> port backtype.storm.daemon.supervisor to java
> ---------------------------------------------
>
>                 Key: STORM-1279
>                 URL: https://issues.apache.org/jira/browse/STORM-1279
>             Project: Apache Storm
>          Issue Type: New Feature
>          Components: storm-core
>            Reporter: Robert Joseph Evans
>            Assignee: John Fang
>              Labels: java-migration, jstorm-merger
>         Attachments: Discussion about supervisor.pdf
>
>
> https://github.com/apache/storm/tree/jstorm-import/jstorm-core/src/main/java/com/alibaba/jstorm/daemon/supervisor
>  as an example
> backtype.storm.event usage should be replaced with built-in java threadpools.



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

Reply via email to