You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@slider.apache.org by "thomas liu (JIRA)" <ji...@apache.org> on 2015/03/31 19:09:53 UTC

[jira] [Commented] (SLIDER-773) Add co-processor support for app packages

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

thomas liu commented on SLIDER-773:
-----------------------------------

Current design:
We are not modifying the basic architecture of Slider, either how SliderAgent communicate with SliderAM.

In org.apache.slider.providers.agent.application.metadata.Component, we add a new String List that keeps track of the order in which master and addon packages should be installed, configured and started
In AgentProviderService, we keep ComponentInstanceState for each Component+package. (We use component + '-' + package as the identifier in the map)
And at the moment when previously we call ComponentInstanceState.getCommand() to determine the next command for the component, now we first query Component which package comes next, and then we call getCommand() on the package's ComponentInstanceState to get the next command to run.

So we are issuing commands 'master package INSTALL', 'addon package 1 INSTALL', ... 'master package START', one by one. Only after previous command got successfully executed on the SliderAgent side, we start to execute the next command. We still rely on existing ComponentCommandOrder to enforce component instantiation order. So on the SliderAgent side, it will install packages one by one and then start the master.

As for how users define the addon packages in appConfig.json, metainfo.json, it is pending in https://issues.apache.org/jira/browse/SLIDER-834


> Add co-processor support for app packages
> -----------------------------------------
>
>                 Key: SLIDER-773
>                 URL: https://issues.apache.org/jira/browse/SLIDER-773
>             Project: Slider
>          Issue Type: Bug
>          Components: app-package, client
>    Affects Versions: Slider 0.60
>            Reporter: Sumit Mohanty
>            Assignee: thomas liu
>            Priority: Critical
>             Fix For: Slider 0.80
>
>         Attachments: Co-processorSupport.pdf
>
>
> It is typical for applications to allow plugins/co-processors that are essentially a set of additional jar files in the classpath and optionally a set of config files or config changes.
> Current, slider app packages can handle additional config changes/entries very well. Additional configs files can be added as well but it is not easy if the config files include parameters that need to be resolved by the agent. This requires app package changes. Dropping additional jar files into the class path is not easy and requires app package changes.
> It is not efficient to modify the app package to support such plugins. App packaging and create command should be modified such that the user can dynamically specify additional jars, config files, configs etc.
> Specific scenarios are modifying HBase to add support for Phoenix or Ranger.



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