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

(Updated Feb. 24, 2023, 1:23 p.m.)


Review request for ranger and Pradeep Agrawal.


Bugs: RANGER-2713
    https://issues.apache.org/jira/browse/RANGER-2713


Repository: ranger


Description
-------

XXPolicyRef objects have fields such as create time, update time, added by user 
ID, updated by user ID, but there fields are entirely useless since they are 
all copied from the XXPolicy object. In addition, while improving performance 
for creation of policies with large numbers of users, we discovered that a lot 
of time was being spent in JPA converting these Date objects especially. After 
removing these fields we saw a significant performance improvement (a secondary 
benefit is less database space usage).

We previously tried this commit and it caused a few issues (some typos on SQL 
Server and SQL Anywhere, as well as upgrade scenarios - however this has been 
fixed).


Diffs (updated)
-----

  security-admin/db/mysql/optimized/current/ranger_core_db_mysql.sql 9a79fe8ad 
  
security-admin/db/mysql/patches/061SKIP-drop-audit-columns-from-policy-ref-tables.sql
 PRE-CREATION 
  security-admin/db/oracle/optimized/current/ranger_core_db_oracle.sql 
fd6cec9a7 
  
security-admin/db/oracle/patches/061SKIP-drop-audit-columns-from-policy-ref-tables.sql
 PRE-CREATION 
  security-admin/db/postgres/optimized/current/ranger_core_db_postgres.sql 
4d5a8cedf 
  
security-admin/db/postgres/patches/061SKIP-drop-audit-columns-from-policy-ref-tables.sql
 PRE-CREATION 
  
security-admin/db/sqlanywhere/optimized/current/ranger_core_db_sqlanywhere.sql 
3ed2a5b9c 
  
security-admin/db/sqlanywhere/patches/061SKIP-drop-audit-columns-from-policy-ref-tables.sql
 PRE-CREATION 
  security-admin/db/sqlserver/optimized/current/ranger_core_db_sqlserver.sql 
ca8f7da1f 
  
security-admin/db/sqlserver/patches/061SKIP-drop-audit-columns-from-policy-ref-tables.sql
 PRE-CREATION 
  security-admin/scripts/db_setup.py 24502f4fb 
  security-admin/src/main/java/org/apache/ranger/biz/PolicyRefUpdater.java 
6cc3509d8 
  security-admin/src/main/java/org/apache/ranger/biz/RoleRefUpdater.java 
421b2312d 
  
security-admin/src/main/java/org/apache/ranger/biz/SecurityZoneRefUpdater.java 
4cfe62701 
  
security-admin/src/main/java/org/apache/ranger/entity/XXPolicyRefAccessType.java
 6af8f99f4 
  
security-admin/src/main/java/org/apache/ranger/entity/XXPolicyRefCondition.java 
4f4409d6a 
  
security-admin/src/main/java/org/apache/ranger/entity/XXPolicyRefDataMaskType.java
 cb926740e 
  security-admin/src/main/java/org/apache/ranger/entity/XXPolicyRefGroup.java 
32a1b9f24 
  
security-admin/src/main/java/org/apache/ranger/entity/XXPolicyRefResource.java 
115064621 
  security-admin/src/main/java/org/apache/ranger/entity/XXPolicyRefRole.java 
7aee502e0 
  security-admin/src/main/java/org/apache/ranger/entity/XXPolicyRefUser.java 
8dfb92833 
  security-admin/src/main/java/org/apache/ranger/entity/XXRoleRefGroup.java 
22b944791 
  security-admin/src/main/java/org/apache/ranger/entity/XXRoleRefRole.java 
30867e28d 
  security-admin/src/main/java/org/apache/ranger/entity/XXRoleRefUser.java 
a5b17f716 
  
security-admin/src/main/java/org/apache/ranger/entity/XXSecurityZoneRefGroup.java
 0ae6b2ffc 
  
security-admin/src/main/java/org/apache/ranger/entity/XXSecurityZoneRefResource.java
 3d7197a16 
  
security-admin/src/main/java/org/apache/ranger/entity/XXSecurityZoneRefService.java
 a2cacc674 
  
security-admin/src/main/java/org/apache/ranger/entity/XXSecurityZoneRefTagService.java
 c67a4648d 
  
security-admin/src/main/java/org/apache/ranger/entity/XXSecurityZoneRefUser.java
 4af242fd3 
  
security-admin/src/main/java/org/apache/ranger/service/XPortalUserService.java 
85e457efa 
  security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java 
691ab52b3 


Diff: https://reviews.apache.org/r/74301/diff/4/

Changes: https://reviews.apache.org/r/74301/diff/3-4/


Testing
-------

Fresh install and upgrade tested on all 5 databases (tested service and policy 
creation)

Also tested user deletion on MySQL:

1. Created new user
2. Logged in as new user, created a policy
3. Logged back in as original user, delete user that created policy
4. Verified no errors, policy is still present/correct

Also searched the source code and JPA queries xml for other references to these 
fields


Thanks,

Andrew Luo

Reply via email to