> On Feb. 18, 2016, 2:27 p.m., Jonathan Hurley wrote: > > ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java, > > lines 526-539 > > <https://reviews.apache.org/r/43621/diff/2/?file=1254367#file1254367line526> > > > > Are there other places where you need to invalidate your cache? Such as > > updateStatusByRequestId? > > > > The problem with caches like this is that you could miss a place to > > invalidate them and you're perpetually stuck with stale values.
Perhaps you also need a thread of some sort to periodically wipe the cache just to ensure you don't miss places where you might not be invalidating. - Jonathan ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/43621/#review119688 ----------------------------------------------------------- On Feb. 18, 2016, 9:20 a.m., Sebastian Toader wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/43621/ > ----------------------------------------------------------- > > (Updated Feb. 18, 2016, 9:20 a.m.) > > > Review request for Ambari, Jonathan Hurley, Myroslav Papirkovskyy, Sumit > Mohanty, and Sid Wagle. > > > Bugs: AMBARI-15011 > https://issues.apache.org/jira/browse/AMBARI-15011 > > > Repository: ambari > > > Description > ------- > > 1. Created new index on host_role_command table on (status, role) fields as > this table is being queries quite often by status and role > 2. Removed uneccessary querying of ambari server actions by hostname > 3. Cache HostRoleCommandStatusSummaryDTO computed objects using guava cache > 4. The method returning service configs made one call to the database to get > the active service config entities. Then retrieved from database all service > config entities and while building the response it was using the first > collection to determine which reponse item should be marked as > active/inactive. This has been modified to make only one roundtrip to the > database and determine the active flag using plain java code. > > > Diffs > ----- > > > ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java > 91f2d30 > > ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java > d2fe4fc > > ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java > bd5fb5a > > ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostRoleCommandEntity.java > bb8ba19 > > ambari-server/src/main/java/org/apache/ambari/server/serveraction/ServerActionExecutor.java > 20cf5bb > > ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java > d3fdc65 > > ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog222.java > 88b3151 > ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql eded221 > ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql 780e81a > ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql d4a1ddb > ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql > 64f2a4e > ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql c557cf6 > ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql adda30c > > ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java > bc4d397 > > ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java > 510e1fb > > ambari-server/src/test/java/org/apache/ambari/server/configuration/ConfigurationTest.java > 1f90813 > > ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java > 862776f > > ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java > 0cdf50a > > ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog222Test.java > aa4090e > > ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java > 2d663d9 > > Diff: https://reviews.apache.org/r/43621/diff/ > > > Testing > ------- > > Manual testing: > > Created a cluster of 3 nodes waited 30 mins with UI running and collected > postgres sql statement stats, than left the cluster running for another 30 > mins wiht UI closed and getting new sql statement stats. Verified that the > number of execution of queries mentioned in the JIRA has decreased. > > Unit tests: > > Total run:884 > Total errors:0 > Total failures:0 > OK > > > Thanks, > > Sebastian Toader > >
