[
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