> On Oct. 10, 2014, 9:10 p.m., Tom Beerbower wrote: > > ambari-server/src/main/java/org/apache/ambari/server/api/query/JpaPredicateVisitor.java, > > lines 225-227 > > <https://reviews.apache.org/r/26568/diff/1/?file=717581#file717581line225> > > > > 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. > > Jonathan Hurley wrote: > CriteriaBuilder does support NOT and its variations; I just didn't > implement it for alerts yet since I can't see an use cases for using NOT.
I guess you could distribute the NOT so that something like 'NOT(name=foo OR name=bar)' becomes 'name!=foo AND name!=bar', but that could get messy. I guess it's okay if we don't support it for this case for now but I think it would be better to throw an UnsupportedOperationException than to return the wrong result. > On Oct. 10, 2014, 9:10 p.m., Tom Beerbower wrote: > > ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterService.java, > > line 387 > > <https://reviews.apache.org/r/26568/diff/1/?file=717585#file717585line387> > > > > 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. > > Jonathan Hurley wrote: > alert_histories is funny looking. I would rather the endpoint be > {clusterName}/alert_history; but in that case, what would the singular > version be? I'm open to suggestions on naming of the REST endpoint and the > resource type. Probably okay, but I don't know for sure if there are any issues with having the singular and plural names the same. - Tom ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26568/#review56214 ----------------------------------------------------------- On Oct. 12, 2014, 4:33 a.m., Jonathan Hurley wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/26568/ > ----------------------------------------------------------- > > (Updated Oct. 12, 2014, 4:33 a.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/AlertDefinitionResourceProvider.java > 1de49a7 > > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java > 8c55aa7 > > 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/internal/AlertTargetResourceProvider.java > b0cc52b > > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/DefaultProviderModule.java > ab89db2 > > 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/AlertDefinitionResourceProviderTest.java > 78655dd > > ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProviderTest.java > 771bf8a > > ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProviderTest.java > PRE-CREATION > > ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProviderTest.java > b96a4f3 > > 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 > >
