incubator-s4-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leo Neumeyer (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (S4-24) Dynamic deployment of S4 applications from a remote repository
Date Fri, 06 Jan 2012 23:57:39 GMT

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

Leo Neumeyer commented on S4-24:
--------------------------------

Matthieu, this looks great. I have a question. How do you guarantee that all nodes have exactly
the same apps deployed? By same apps I mean exactly the same binary. We need to make sure
it is impossible to have inconsistencies between nodes. This requires that each node acknowledges
that the app was successfully deployed and only then instruct the server to start the app.
We should put as many as hurdles as needed before starting an app. It's always better to fail
the launch than to launch with inconsistencies.

Can you explain the potential inconsistency in  deployNewApps(Set<String> newApps) ?

Still going through this, more comments later.

-leo
  
                
> Dynamic deployment of S4 applications from a remote repository
> --------------------------------------------------------------
>
>                 Key: S4-24
>                 URL: https://issues.apache.org/jira/browse/S4-24
>             Project: Apache S4
>          Issue Type: Sub-task
>    Affects Versions: 0.5
>            Reporter: Matthieu Morel
>            Assignee: Matthieu Morel
>             Fix For: 0.5
>
>         Attachments: S4-24.patch
>
>
> Use case:
> - at startup or during runtime, s4 nodes are notified of new applications available.
The code for these applications is fetched from a remote repository, installed on S4 nodes,
and the applications are started automatically.
> How does it work?
> - Zookeeper is used for coordination: when a new app is available, it creates a new znode
under /s4-cluster-name/apps/app1
> - S4 nodes are notified of this new znode, which contains the s4r URI as metadata
> - S4 nodes can then fetch the s4r, copy it to a local directory and start it
> - we also need a facility to create the app into Zookeeper, along with required metadata
> For a first milestone, I suggest:
> - a simple file system based repository (can be a distributed file system)
> - deployment only, no unloading
> Later we can add extensions:
> - We could provide various repository clients, depending on the protocol specified, and
on the level of trust of the repository (although for a first version, we would just provide
a simple mechanism and assume a trustworthy environment).
> - more metada in the application znode, in order to control the state of the app, a time
to start / stop, a number of nodes, nodes requirements etc...
> I'll start working on a first implementation, and I'm eager to receive suggestions. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message