----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26568/#review56214 -----------------------------------------------------------
Very nice. Just a couple of comments / questions ... ambari-server/src/main/java/org/apache/ambari/server/api/query/JpaPredicateVisitor.java <https://reviews.apache.org/r/26568/#comment96536> This fact that this is not supported is a problem for a query string like '!name.in(foo,bar)'. I think that the ambari predicate would come to the RP as NOT(name=foo OR name=bar) and you would end up with a JPA predicate of name=foo OR name=bar. ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterService.java <https://reviews.apache.org/r/26568/#comment96537> I guess that {clusterName}/alert_histories looks a little funny. Is that why you use {clusterName}/alert_history here? The pattern has always been to use the plural resource name. I'm surprised that {clusterName}/alert_history works since you specified 'alert_histories' as the plural name in the definition. ambari-server/src/main/java/org/apache/ambari/server/controller/AlertHistoryRequest.java <https://reviews.apache.org/r/26568/#comment96540> Is this class needed? Why not just pass the predicate? Are you planning on adding sort and page requests here as well? ambari-server/src/main/java/org/apache/ambari/server/controller/AlertHistoryRequest.java <https://reviews.apache.org/r/26568/#comment96544> Is there a reason that this should be public and not private final? It seems like the request object should be immutable. ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity_.java <https://reviews.apache.org/r/26568/#comment96538> I don't think that I've ever seen a trailing underscore for a class name before. - Tom Beerbower On Oct. 10, 2014, 6:48 p.m., Jonathan Hurley wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/26568/ > ----------------------------------------------------------- > > (Updated Oct. 10, 2014, 6:48 p.m.) > > > Review request for Ambari, Nate Cole and Tom Beerbower. > > > Bugs: AMBARI-7734 > https://issues.apache.org/jira/browse/AMBARI-7734 > > > Repository: ambari > > > Description > ------- > > Alert history is exposed as read-only. Since this data can grow without > bounds, the current API model of manipulating the entire result set in memory > is not viable long term. > > This patch will pass the Ambari Predicate down to the DAO which will then > turn the Predicate into a JPA Predicate capable of being handed to a > CriteriaQuery. This will allow JPA to do most of the work in reducing the > requested result set. > > Missing from this are pagination and sorting. That will be a separate change > coming next where the ResourceProviders are given both, and if possible, can > apply them to the result set they return. > > > Diffs > ----- > > > ambari-server/src/main/java/org/apache/ambari/server/api/query/JpaPredicateVisitor.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/api/resources/AlertHistoryResourceDefinition.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstanceFactoryImpl.java > 74580a4 > > ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertHistoryService.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterService.java > a56bcbf > > ambari-server/src/main/java/org/apache/ambari/server/controller/AlertHistoryRequest.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java > e0de383 > > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java > 5810633 > > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProvider.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/controller/spi/Resource.java > f51375b > ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertsDAO.java > f2161f3 > > ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity_.java > PRE-CREATION > ambari-server/src/main/resources/key_properties.json 085dc11 > ambari-server/src/main/resources/properties.json 8a0a58a > > ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProviderTest.java > PRE-CREATION > > ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertsDAOTest.java > a2023d8 > > Diff: https://reviews.apache.org/r/26568/diff/ > > > Testing > ------- > > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 23:24 min > [INFO] Finished at: 2014-10-10T14:45:44-04:00 > [INFO] Final Memory: 29M/230M > [INFO] > ------------------------------------------------------------------------ > > > Thanks, > > Jonathan Hurley > >
