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

Phil Zampino commented on KNOX-1064:
------------------------------------

1. It could be a ConcurrentHashMap, but do you see a reason why it ought to be? 
Instances of this class are not handled by multiple threads concurrently.

2. Since AmbariComponent is only used by the Ambari service discovery 
implementation, there is no need to expose them outside of the package.

3. AmbariServiceDiscovery
a. 3.1 serviceConfiguration Map was leftover from a prior change (thanks)
b. 3.2 We may indeed be facing the fact that the Ambari v1 API will be 
discontinued, but I’m looking at that as an implementation detail.
The truth is that the resource URIs are pretty tightly coupled with the content 
they provide.
Externalizing the URIs will have little impact on our ability to accommodate 
future versions of the API.
I’ll deal with this separately in the context of handling multiple Ambari API 
versions.
c. 3.3 aliasService is used in the invokeREST method
d. 3.4 I’ve left it there to record the alternative host property name, but I 
suppose it can be removed

4. SimpleDescriptorHandler
a. 4.1 Are * imports frowned-upon? Is there some threshold whereby they’re 
acceptable, or they’re never acceptable?
b. 4.2 Yes, it could be wrapped in a BufferedWriter
c. 4.3 Good catch; I will move the close to a finally block

5. There is no notion of closing a File, so I’ll assume you mean closing any 
associated streams which are opened.
I will add this in ServiceURLPropertyConfig, where the streams are read.



-- 
Phil
 

On 10/3/17, 12:05 PM, "Sandeep More (JIRA)" <j...@apache.org> wrote:

    
        [ 
https://issues.apache.org/jira/browse/KNOX-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16189905#comment-16189905
 ] 
    
    Sandeep More commented on KNOX-1064:
    ------------------------------------
    
    Great, thanks for the patch Phil, sorry for the delay in reviewing. 
    Since the patch is a bit longer (for me) I reviewed the entire file in some 
cases than the diff as it was easier to get the context with full file. Also, 
the suggestion I have are not major they are minor nit-picks patch overall 
looks great (I haven't yet tested it) 
    
    Comments:
    1. in AmbariCluster class, serviceConfigurations can be a ConcurrentHashMap 
insted of HashMap 
    2. AmbariComponent class, any reason why the methods were made package 
protected ?
    3. AmbariServiceDiscovery class, 
       3.1 serviceConfiguration Map is not used
       3.2 Given that AMBARI_CLUSTERS_URI and AMBARI_HOSTROLES_URI are Ambari 
specific paths which could change in th future, do you think we can move it to 
ext. mapping file
       3.3 aliasService variable is not used
       3.4 You can remove the comment on line # 147
       
    4. SimpleDescriptorHandler class
        4.1 line # 25 and 28 have * imports.
        4.2 line # 124, may be use BufferedWriter to wrap FileWriter to be more 
effecient 
        4.3 The Writer needs to be closed in finally block to prevent leaking 
in case of exception.
        
    5 AmbariDynamicServiceURLCreator class
        5.1 mappingConfigFile file object should be closed.
        5.2 at line # 64, we could close FileInputStream after it's dome reading
        5.3 at line 69, same as 5.2
    
    
    
    > Externalize Hadoop Service Configuration Details and Service URL Creation
    > -------------------------------------------------------------------------
    >
    >                 Key: KNOX-1064
    >                 URL: https://issues.apache.org/jira/browse/KNOX-1064
    >             Project: Apache Knox
    >          Issue Type: Bug
    >          Components: Server
    >    Affects Versions: 0.14.0
    >            Reporter: Phil Zampino
    >            Assignee: Phil Zampino
    >              Labels: kip-8
    >         Attachments: KNOX-1064-001.patch, KNOX-1064-002.patch, 
KNOX-1064-003.patch, KNOX-1064.patch
    >
    >
    > For the sake of flexibility in terms of the services supported by service 
discovery and topology generation, the following should be externalized from 
the code:
    > # The set and mapping of service components and their respective 
configuration details.
    > # The service URL generation details.
    > The goal is to be able to add/modify these details without having to 
modify source code.
    
    
    
    --
    This message was sent by Atlassian JIRA
    (v6.4.14#64029)
    
    



> Externalize Hadoop Service Configuration Details and Service URL Creation
> -------------------------------------------------------------------------
>
>                 Key: KNOX-1064
>                 URL: https://issues.apache.org/jira/browse/KNOX-1064
>             Project: Apache Knox
>          Issue Type: Bug
>          Components: Server
>    Affects Versions: 0.14.0
>            Reporter: Phil Zampino
>            Assignee: Phil Zampino
>              Labels: kip-8
>         Attachments: KNOX-1064-001.patch, KNOX-1064-002.patch, 
> KNOX-1064-003.patch, KNOX-1064.patch
>
>
> For the sake of flexibility in terms of the services supported by service 
> discovery and topology generation, the following should be externalized from 
> the code:
> # The set and mapping of service components and their respective 
> configuration details.
> # The service URL generation details.
> The goal is to be able to add/modify these details without having to modify 
> source code.



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

Reply via email to