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 28336: Provide stage resource information via REST API
Date Sat, 22 Nov 2014 13:58:28 GMT

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

(Updated Nov. 22, 2014, 1:58 p.m.)


Review request for Ambari, Jonathan Hurley, John Speidel, Nate Cole, and Robert Levas.


Bugs: AMBARI-8163
    https://issues.apache.org/jira/browse/AMBARI-8163


Repository: ambari


Description
-------

Currently, it is possible to query Ambari (via the REST API) for details about _asynchronous_
requests and their related tasks. This useful when trying to obtain progress information.
 However, some information necessary for the UI to indicate meaningful progress is not available.
 This information is related to the stages that are generated. 

*NOTE:* Each _asynchronous_ request is broken down into 1 or more stages and each stage contains
1 or more tasks.

If stage information was available via the REST API, it would be possible for the caller (maybe
a UI) to track high-level tasks (at the {{stage}} level) rather than each lower-level unit
of work (at the {{task}} level).   

To allow for this, a new API resource (and associated handler) needs to be created.  The resource
should be read-only (like {{requests}} and {{tasks}}), and should provide information stored
in the {{stage}} table from the Ambari database.  

The following properties should be returned for each {{stage}}:

* stage_id
* request_id
* cluster_id
* request_context 
** _This should probably be renamed to something more appropriate, like stage_context, stage_name,
or etc..._
* start_time
* end_time
* progress_percent
* status

It is expected that the resources would be queried using:

{code}
GET  /api/v1/clusters/{clusterid}/requests/{requestid}/stages
{code}

Also, some subset of the stage data should be provided when querying for details about a specific
{{request}}, like in:

{code}
GET  /api/v1/clusters/{clusterid}/requests/{requestid}
{code}

See {{request}} and {{task}} resource for examples.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/api/query/QueryImpl.java a1c4882 
  ambari-server/src/main/java/org/apache/ambari/server/api/resources/BaseResourceDefinition.java
a5a7234 
  ambari-server/src/main/java/org/apache/ambari/server/api/resources/RequestResourceDefinition.java
291b01a 
  ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstanceFactoryImpl.java
ba3f32f 
  ambari-server/src/main/java/org/apache/ambari/server/api/resources/SimpleResourceDefinition.java
PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestService.java fc1b515

  ambari-server/src/main/java/org/apache/ambari/server/api/services/StageService.java PRE-CREATION

  ambari-server/src/main/java/org/apache/ambari/server/api/services/TaskService.java ade8d9c

  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProvider.java
409aace 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertNoticeResourceProvider.java
956f710 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterControllerImpl.java
ec40c4f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/DefaultProviderModule.java
d0ce1cf 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/QueryResponseImpl.java
PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestImpl.java
9b98737 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StageResourceProvider.java
PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/controller/spi/ClusterController.java
35ea680 
  ambari-server/src/main/java/org/apache/ambari/server/controller/spi/ExtendedResourceProvider.java
PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/controller/spi/QueryResponse.java PRE-CREATION

  ambari-server/src/main/java/org/apache/ambari/server/controller/spi/Request.java 92c5db5

  ambari-server/src/main/java/org/apache/ambari/server/controller/spi/Resource.java b71b43c

  ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
3e2111e 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/StageDAO.java 900dbeb 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/StageEntity_.java PRE-CREATION

  ambari-server/src/test/java/org/apache/ambari/server/api/resources/SimpleResourceDefinitionTest.java
PRE-CREATION 
  ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterControllerImplTest.java
cfb2efb 
  ambari-server/src/test/java/org/apache/ambari/server/controller/internal/QueryResponseImplTest.java
PRE-CREATION 
  ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StageResourceProviderTest.java
PRE-CREATION 

Diff: https://reviews.apache.org/r/28336/diff/


Testing
-------

New unit tests added.


Thanks,

Tom Beerbower


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