ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tom Beerbower" <tbeerbo...@hortonworks.com>
Subject Re: Review Request 28785: Add API support to allow for session attributes to be set for a cluster.
Date Mon, 08 Dec 2014 13:20:28 GMT


> On Dec. 8, 2014, 12:08 p.m., Robert Levas wrote:
> > When I was playing around with injecting an AmbariSessionManager into the ServerActionExectutor
(`org.apache.ambari.server.serveraction.ServerActionExecutor`), I ran into thread local storage
issues when trying to obtain the session ID.  The ServerActionExecutor ran in its own thread
spawned from the ActionScheduler (`org.apache.ambari.server.actionmanager.ActionScheduler`)
thread.  Did you test this in a live cluster to make sure you did run into the same issue?

Yes, I manually tested a live cluster and was able to get session scoped attributes.


- Tom


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28785/#review64216
-----------------------------------------------------------


On Dec. 6, 2014, 5:54 p.m., Tom Beerbower wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28785/
> -----------------------------------------------------------
> 
> (Updated Dec. 6, 2014, 5:54 p.m.)
> 
> 
> Review request for Ambari, John Speidel and Robert Levas.
> 
> 
> Bugs: Ambari-8447
>     https://issues.apache.org/jira/browse/Ambari-8447
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Add API support to allow for session attributes to be set for a cluster.
> Expose the session_attributes property on a cluster resource. To add session attributes
for a cluster the session_attributes property can be set on a cluster resource. The value
of the session_attributes should be a collection of name value pairs, as follows ...
> PUT api/v1/clusters/c1
> 
> {
>   "session_attributes" : {
>     "attr1" : "v1",
>     "attr2" : "v2",
>     "attr3" : {"sub1" : "v31", "sub2" : "v32"}
>   }
> }
> 
> 
> The above example would add the following attributes to the session for cluster c1:
> attribute	value
> -----------------
> attr1	    v1
> attr2	    v2
> attr3/sub1	v31
> attr3/sub2	v32
> 
> 
> The cluster session attribute property is not available to read through the REST API.
The map of cluster session attribute properties is available to resource providers on the
Ambari server through the following method on the org.apache.ambari.server.state.Clusters
singleton...
> 
>     /**
>      * Get the map of session attributes for the cluster identified by the given name.
>      * 
>      * @param name  the cluster name
>      *              
>      * @return the map of session attributes for the cluster
>      */
>     public Map<String, Object> getSessionAttributes(String name);
> 
> 
> All session attributes set through the above API are scoped by cluster name and session.
When the session dies, so do the attribute values for that session.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
abd83fc 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariSessionManager.java
e6dd07f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/ClusterRequest.java
8bbbd68 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
6cb8fa4 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
7423c25 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 125b71b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Clusters.java 18f3a94 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
5a9731a 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClustersImpl.java
d2c7428 
>   ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java bce66ee

>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
4b19443 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariSessionManagerTest.java
PRE-CREATION 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterResourceProviderTest.java
f382588 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JMXHostProviderTest.java
a11dc43 
>   ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterImplTest.java
PRE-CREATION 
>   ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersImplTest.java
PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/28785/diff/
> 
> 
> Testing
> -------
> 
> Added new unit tests.  Manual testing for session attributes.
> 
> All tests pass ...
> 
> Results :
> 
> Tests run: 2335, Failures: 0, Errors: 0, Skipped: 22
> 
> 
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 25:09 min
> [INFO] Finished at: 2014-12-06T11:54:15-05:00
> [INFO] Final Memory: 30M/265M
> [INFO] ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Tom Beerbower
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message