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

Gour Saha commented on SLIDER-1107:
-----------------------------------

[~billie.rinaldi] I reviewed all the commits in the branch 
feature/SLIDER-1107_AM_config_generation and overall everything looks good. Few 
comments -

+*slider-core/src/main/java/org/apache/slider/common/params/ActionResourceArgs.java*+
{quote}
  @Parameter(names = \{ARG_RESOURCE\},
      description = "Name of the file or directory")
  public String resource;
{quote}
This will result in the cmd to be something like "slider resource --resource 
<>". Do you think we should name it to something like --source (or something 
more appropriate)? It goes hand in hand with --destdir. What do you think?

+*slider-core/src/main/java/org/apache/slider/common/params/SliderActions.java*+
bq.  String DESCRIBE_ACTION_RESOURCE = "Manage a file (install, delete, list) 
in the sub-folder 'resources' of the user's Slider base directory";
Should we change to (only the _*resources*_ word was moved around)?
{code}
  String DESCRIBE_ACTION_RESOURCE = "Manage a file (install, delete, list) in 
the 'resources' sub-folder of the user's Slider base directory";
{code}

Also, we should create a _*--help*_ option (like other commands like create 
has) such that {{./slider resource --help}} provides usage details for resource 
command. This let’s users see the help even when run without connection to a 
valid RM.

+*slider-core/src/main/java/org/apache/slider/common/tools/CoreFileSystem.java*+
In method
bq.  public String cat(Path path) throws IOException \{
{code}
    FSDataInputStream in = fileSystem.open(path);
    int count = in.read(b);
{code}
Input stream is not closed.

+*slider-core/src/main/java/org/apache/slider/core/conf/ConfTreeOperations.java*+
bq.  public static ConfTreeOperations fromString(String json) throws
Should we call the method _*fromJson*_?

+*slider-core/src/main/java/org/apache/slider/core/launch/AbstractLauncher.java*+
bq.  public void addLocalResource(String subpath, LocalResource resource, 
String mountPath) {
Make _*subpath*_ camel case to _*subPath*_, and similar change in the other 
overloaded method also.

+*slider-core/src/main/java/org/apache/slider/providers/agent/AgentClientProvider.java*+
bq.      metaInfo = new MetainfoParser().fromJsonStream(new 
FileInputStream(filePath));
I think the input stream is not closed in fromJsonStream like fromXmlStream 
closes. Can you please verify?

bq.      String client_script = null;
Camel case it to clientScript

bq.        if (packages != null && packages.size() > 0) 
packages won’t be null so no need to check for != null 

{quote}
424:             e.printStackTrace();
432:             e.printStackTrace();
458:             e.printStackTrace();
{quote}
Should we just use logger to log some pretty msgs here (if intention is to 
ignore the exceptions) or throw BadConfigException? 

bq. 435:         if (config != null) {
Was intent here to check if (clientRoot == null && config != null) ?

+*slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java*+
bq.  private static synchronized Path uploadResource(File resource,
Why is this method synchronized and static?

{quote}
1365:       if (component != null && component.getCategory().equals("CLIENT")) {
{quote}
I don’t think component will be null here.

bq. 3025:           finished = false;
I am not sure I understand what happens when _*finished*_ is set to _false_ and 
the while loop goes over again. Can you explain?

+*slider-core/src/main/java/org/apache/slider/providers/agent/application/metadata/MetainfoParser.java*+
{quote}
78:     digester.addObjectCreate("*/osSpecific/packages/package", 
OSPackage.class);
79:     digester.addBeanPropertySetter("*/osSpecific/packages/package/type");
80:     digester.addBeanPropertySetter("*/osSpecific/packages/package/name");
81:     digester.addSetNext("*/osSpecific/packages/package", "addOSPackage");
{quote}
Can these cause backward compatibility issues?


> Generate app configuration files in AM
> --------------------------------------
>
>                 Key: SLIDER-1107
>                 URL: https://issues.apache.org/jira/browse/SLIDER-1107
>             Project: Slider
>          Issue Type: Bug
>            Reporter: Billie Rinaldi
>            Assignee: Billie Rinaldi
>             Fix For: Slider 1.0.0
>
>
> Currently, each container generates its own application configuration files.  
> Instead, we could do this in the AM and have YARN localize the configuration 
> files.  Having some basic config generation in the AM may allow us to 
> simplify the config generation code in the app packages.  Also, it would be 
> much better in the case of Docker containers, where we would prefer not to 
> have to execute our own code inside the container.



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

Reply via email to