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

(Updated Nov. 27, 2023, 4:27 p.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 (updated)
-------

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.

For SUPPORTS, Spring first checks if an active transaction exists. If a 
transaction exists, then the existing transaction will be used. If there isn’t 
a transaction, it is executed non-transactional
NOT_SUPPORTED Propagation
If a current transaction exists, first Spring suspends it, and then the 
business logic is executed without a transaction:
For more info:
https://www.javainuse.com/spring/boot-transaction-propagation
https://levelup.gitconnected.com/mastering-transaction-propagation-in-spring-boot-ensure-data-consistency-and-integrity-across-ab9f1a8aa245


Diffs (updated)
-----

  
agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditProviderFactory.java
 598659bf4 
  
agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServerHealth.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 
136a1309b 
  security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java 
cd92d92b4 
  security-admin/src/main/java/org/apache/ranger/common/db/BaseDao.java 
a0ff18948 
  security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java 
7d4828ed0 
  security-admin/src/main/java/org/apache/ranger/rest/RangerHealthREST.java 
PRE-CREATION 
  
security-admin/src/main/java/org/apache/ranger/util/RangerServerHealthUtil.java 
PRE-CREATION 
  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/TestRangerHealthREST.java 
PRE-CREATION 
  
security-admin/src/test/java/org/apache/ranger/util/TestRangerServerHealthUtil.java
 PRE-CREATION 


Diff: https://reviews.apache.org/r/74405/diff/6/

Changes: https://reviews.apache.org/r/74405/diff/5-6/


Testing
-------

Tested this API and the response below 
{"status":"UP","details":{"components":{"db":{"details":{"database":"ORACLE 
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - 
Production","validationQuery":"SELECT banner from v$version where 
rownum<2"},"status":"UP"}}}}


Thanks,

Ramachandran Krishnan

Reply via email to