ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hurley" <jhur...@hortonworks.com>
Subject Re: Review Request 39674: Reduce Load On Database By Caching Alerts
Date Tue, 27 Oct 2015 15:13:00 GMT

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

(Updated Oct. 27, 2015, 11:12 a.m.)


Review request for Ambari, Alejandro Fernandez, Jayush Luniya, and Nate Cole.


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


Repository: ambari


Description
-------

Alert-related SQL queries and updates are responsible for the majority of calls to the database
in most deployments. This is due to the fact that alerts update their timestamp and latest
text on every alert, regardless of state change.

This patch introduces an optional, experimental feature where `AlertCurrentEntity` instances
can be cached. This produces several problems:
- The cached alerts are never reflected in queries from JPA
- The cached alerts are never persisted back to the database

We solve this by keeping the managed entities in memory and flushing them periodically. The
Alert DAO also augments the list from JPA with cached entities.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/annotations/Experimental.java 5a4915a 
  ambari-server/src/main/java/org/apache/ambari/annotations/ExperimentalFeature.java PRE-CREATION

  ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java
d482ce9 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/PersistKeyValueService.java
9b942e5 
  ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java e97a54e

  ambari-server/src/main/java/org/apache/ambari/server/events/listeners/alerts/AlertReceivedListener.java
e59f63e 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertsDAO.java 0429534 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertCurrentEntity.java
66b2a83 
  ambari-server/src/main/java/org/apache/ambari/server/state/services/CachedAlertFlushService.java
PRE-CREATION 
  ambari-server/src/test/java/org/apache/ambari/server/configuration/ConfigurationTest.java
573c02f 

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


Testing
-------

I have already files a Jira to track comprehensive tests: https://issues.apache.org/jira/browse/AMBARI-13569

I know that this patch doesn't cover any of the new cached functionality in testing, but that's
mainly due to the short time constraints and the fact that the feature is experimental and
off by default.


Thanks,

Jonathan Hurley


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