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




agents-common/src/main/java/org/apache/ranger/plugin/model/RangerHealth.java
Lines 40 (patched)
<https://reviews.apache.org/r/74405/#comment314032>

    Consider renaming RangerHealth => RangerServerHealth



agents-common/src/main/java/org/apache/ranger/plugin/model/RangerHealth.java
Lines 91 (patched)
<https://reviews.apache.org/r/74405/#comment314034>

    I suggest to avoid following static methods here, which duplicate methods 
in Builder.
     - unknown()
     - up()
     - down()
     - status()
    
    Callers can replace above methods with:
     - new Builder().unknown()
     - new Builder().up()
     - new Builder().down()
     - new Builder(status)



agents-common/src/main/java/org/apache/ranger/plugin/model/RangerStatus.java
Lines 39 (patched)
<https://reviews.apache.org/r/74405/#comment314031>

    Consider replacing RangerStatus class with following enum in RangerHealth:
      public enum RangerServerStatus { UNKNOWN, INITIALIZING, 
INITIALIZATION_FAILURE, UP, DOWN }



security-admin/src/main/java/org/apache/ranger/biz/RangerBizUtil.java
Lines 1257 (patched)
<https://reviews.apache.org/r/74405/#comment314033>

    Consider renaming getDBQuery() => getDBVersionQuery()



security-admin/src/main/java/org/apache/ranger/common/db/BaseDao.java
Line 363 (original), 363 (patched)
<https://reviews.apache.org/r/74405/#comment314035>

    all if blocks in #363 to #373 have the same contents. Consider rewritting 
this as:
    
     switch (dbFlavor) {
       case AppConstants.DB_FLAVOR_MYSQL:
       case AppConstants.DB_FLAVOR_ORACLE:
       case AppConstants.DB_FLAVOR_POSTGRES:
       case AppConstants.DB_FLAVOR_SQLSERVER:
       case AppConstants.DB_FLAVOR_SQLANYWHERE:
         dbVersion = (String) 
getEntityManager().createNativeQuery(query).getSingleResult();
       break;
    
       default:
         dbVersion = "Not Available";
     }



security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java
Lines 908 (patched)
<https://reviews.apache.org/r/74405/#comment314036>

    Consider moving the details to populate RangerHealth into a separate class, 
similar to MetricUtil.
    
    Also move the constants defined above to that class.


- Madhan Neethiraj


On April 20, 2023, 11:03 a.m., Ramachandran Krishnan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/74405/
> -----------------------------------------------------------
> 
> (Updated April 20, 2023, 11:03 a.m.)
> 
> 
> Review request for ranger, Don Bosco Durai, Abhay Kulkarni, Madhan Neethiraj, 
> Mehul Parikh, Nikhil P, Pradeep Agrawal, Ramesh Mani, Selvamohan Neethiraj, 
> Sailaja Polavarapu, Subhrat Chaudhary, and Velmurugan Periasamy.
> 
> 
> Bugs: RANGER-4195
>     https://issues.apache.org/jira/browse/RANGER-4195
> 
> 
> Repository: ranger
> 
> 
> Description
> -------
> 
> Exposing the Ranger REST API is used to fetch the health check status of 
> Ranger Admin
> 
> RangerAdmin Health Check JSON Response look like (In the current 
> implementation)
> {
> "status": "UP",
> "components": {
> "db": {
> "status": "UP",
> "details":
> 
> { "database": "Oracle 21.3c", "validationQuery": "SELECT banner from 
> v$version where rownum<2" }
> }
> }
> }
> In the future we can extend this health check API for other components like 
> AuditHandler (Elastic search, Kafka,HDFS, Solr),KMS ,etc
> Another Example :
> {
> "status": "UP",
> "components": {
> "db": {
> "status": "UP",
> "details":
> 
> { "database": "Oracle 21.3c", "validationQuery": "SELECT banner from 
> v$version where rownum<2" }
> },
> "auditProvider": {
> "status": "UP",
> "details":
> 
> { "provider": "Elastic Search", "providerHealthCheckEndpoint": 
> "http://localhost:9200/_cluster/health?pretty"; }
> }
> }
> }
> 
> 
> As part of this PR ,we have added some refactoring stuffs as well.
> 
> 
> Diffs
> -----
> 
>   
> agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditProviderFactory.java
>  598659bf4 
>   
> agents-common/src/main/java/org/apache/ranger/plugin/model/RangerHealth.java 
> PRE-CREATION 
>   
> agents-common/src/main/java/org/apache/ranger/plugin/model/RangerStatus.java 
> PRE-CREATION 
>   
> agents-common/src/test/java/org/apache/ranger/plugin/model/TestRangerHealth.java
>  PRE-CREATION 
>   security-admin/src/main/java/org/apache/ranger/biz/RangerBizUtil.java 
> 155fa357d 
>   security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java 
> e52a92e04 
>   security-admin/src/main/java/org/apache/ranger/common/db/BaseDao.java 
> 0d0697990 
>   
> security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java 
> 7d4828ed0 
>   security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java 
> 85cd7dd67 
>   security-admin/src/main/resources/conf.dist/security-applicationContext.xml 
> 807791f28 
>   security-admin/src/test/java/org/apache/ranger/biz/TestRangerBizUtil.java 
> 22e290a66 
>   security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java 
> 73a593e9f 
> 
> 
> Diff: https://reviews.apache.org/r/74405/diff/1/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Ramachandran Krishnan
> 
>

Reply via email to