You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "Erik Weathers (JIRA)" <ji...@apache.org> on 2017/08/01 02:48:01 UTC

[jira] [Commented] (STORM-2018) Simplify Threading Model of the Supervisor

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

Erik Weathers commented on STORM-2018:
--------------------------------------

[~kabhwan] & [~revans2]:  FYI, this change broke the [storm-mesos integration|https://github.com/mesos/storm/issues/202], based on 2 changes:

# Removal of the ability to launch the daemon like this:  {{[backtype.storm.daemon.supervisor.launch(new MesosSupervisor());|https://github.com/mesos/storm/blob/9911151a0efb78203f14456b7873f94fbe5b64b5/storm/src/main/storm/mesos/MesosSupervisor.java#L63]}}
# One of the ISupervisor interface methods is no longer being invoked: {{[ISupervisor.assigned()|https://github.com/apache/storm/blob/v1.0.3/storm-core/src/jvm/org/apache/storm/scheduler/ISupervisor.java#L44]}}

So from my perspective this broke backwards compatibility with the supervisor-launching and interacting interface, and thus leads me to the question:  are we as a project trying to follow an approximation of [semver|http://semver.org/]?   If so then this was merely a mistake where we didn't keep the interface the same within the same minor version.

> Simplify Threading Model of the Supervisor
> ------------------------------------------
>
>                 Key: STORM-2018
>                 URL: https://issues.apache.org/jira/browse/STORM-2018
>             Project: Apache Storm
>          Issue Type: New Feature
>          Components: storm-core
>    Affects Versions: 1.0.0, 2.0.0
>            Reporter: Robert Joseph Evans
>            Assignee: Robert Joseph Evans
>             Fix For: 2.0.0, 1.1.0, 1.0.3
>
>         Attachments: Slot.dot, Slot.svg
>
>          Time Spent: 45h 20m
>  Remaining Estimate: 0h
>
> We have been trying to roll out CGROUP enforcement and right now are running into a number of race conditions in the supervisor.  When using CGROUPS the timing of some operations are different and are exposing issues that we would not see without this.
> In order to make progress with testing/deploying CGROUP and RAS we are going to try and refactor the supervisor to have a simpler threading model, but likely with more threads.  We will base the code off of the java code currently in master, and may replace that in the 2.0 release, but plan on having it be a part of 1.x too, if it truly is more stable.
> I will try to keep this JIRA up to date with what we are doing and the architecture to keep the community informed.  We need to move quickly to meet some of our company goals but will not just shove this in.  We welcome any feedback on the design and code before it goes into the community.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)