You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Oleksandr Diachenko (JIRA)" <ji...@apache.org> on 2013/10/17 17:25:45 UTC

[jira] [Commented] (AMBARI-3536) Refactor to remove ActionMetadata

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

Oleksandr Diachenko commented on AMBARI-3536:
---------------------------------------------

* Deleted ActtionMetadata
* Updated unit-tests.

*getActions(serviceName)*
* Changed to use checking component's presence in certain stack in HeartBeatHandler. 
* Also this method was used in AmbariManagementController.getActions(Set<ActionRequest> request). Method in AMC was unused so I deleted it.

*getClient(serviceName)*
* Used clients definitions from stacks, so now ActionMetadata.getClient(serviceName) equals to AmbariMetaInfo.getServiceInfo(String stackName, String version, String serviceName).getClientComponent().getName().

*getServiceCheckAction(serviceName)*
* Added smoke tests names in stacks definitions, so now ActionMetadata.getClient(serviceName) equals to AmbariMetaInfo.getServiceInfo(String stackName, String version, String serviceName).getServiceCheckName(). All services smoke tests named as <SERVICE_NAME>_SERVICE_CHECK, except ZOOKEEPER: ZOOKEEPER_QUORUM_SERVICE_CHECK, so now AmbariMetaInfo returns smoke test name, defined in metainfo.xml if it exists, and <SERVICE_NAME>_SERVICE_CHECK in default case.

[~ncole], please review the patch.

> Refactor to remove ActionMetadata
> ---------------------------------
>
>                 Key: AMBARI-3536
>                 URL: https://issues.apache.org/jira/browse/AMBARI-3536
>             Project: Ambari
>          Issue Type: Task
>          Components: controller
>    Affects Versions: 1.5.0
>            Reporter: Oleksandr Diachenko
>            Assignee: Oleksandr Diachenko
>             Fix For: 1.5.0
>
>
> {{ActionMetaDdata}} has hard-coded mappings of service-to-action.
> * Clients per service are already indicated in the stack
> * One client can be designated as a "service check" (a client should be able to NOT be defined as a service check)
> * {{getActions(serviceName)}} is only called two places: one of them uses only the first element, the other checks to see if a specific string is present in the list.  This can be refactored.
> * {{getClient(serviceName)}} is called only one time, and is used in {{AmbariManagementControllerImpl.addServiceCheckAction(...)}} to isolate a hostName
> * {{getServiceCheckAction(serviceName)}} is called only one time and is used to see if any service has a SERVICE_CHECK action set.



--
This message was sent by Atlassian JIRA
(v6.1#6144)