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

Review request for ranger, Dineshkumar Yadav, Kishor Gollapalliwar, Madhan 
Neethiraj, Mehul Parikh, and Velmurugan Periasamy.


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


Repository: ranger


Description
-------

Every change to service/policy/tag should be recorded by incrementing the 
policy-version (or tag-version) for the service. Policy-version(or tag-version) 
is updated in a separate transaction after the original change that caused the 
version change has been committed.  This opens up a small window where the 
policy-version may be overwritten when multiple such transactions are 
concurrently active, leading to some 'lost' updates.

The fix includes the database patches to build a unique index on the 
(service_id, policy_version) fields for x_policy_change_log table and a unique 
index on (service_id, service_tags_version) fields on x_tag_change_log table. 
The tasks scheduled to be executed when parent transaction is committed are 
repeatedly attempted until succcessful when the parent transaction is committed 
successfully.


Diffs
-----

  security-admin/db/mysql/optimized/current/ranger_core_db_mysql.sql a42c2f17c 
  security-admin/db/mysql/patches/052-add-unique-constraint-on-change-logs.sql 
PRE-CREATION 
  security-admin/db/oracle/optimized/current/ranger_core_db_oracle.sql 
149d94d60 
  security-admin/db/oracle/patches/052-add-unique-constraint-on-change-logs.sql 
PRE-CREATION 
  security-admin/db/postgres/optimized/current/ranger_core_db_postgres.sql 
867bed5b6 
  
security-admin/db/postgres/patches/052-add-unique-constraint-on-change-logs.sql 
PRE-CREATION 
  
security-admin/db/sqlanywhere/optimized/current/ranger_core_db_sqlanywhere.sql 
fd30f9648 
  
security-admin/db/sqlanywhere/patches/052-add-unique-constraint-on-change-logs.sql
 PRE-CREATION 
  security-admin/db/sqlserver/optimized/current/ranger_core_db_sqlserver.sql 
276a57cc2 
  
security-admin/db/sqlserver/patches/053-add-unique-constraint-on-change-logs.sql
 PRE-CREATION 
  security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java 
52e0c6f9f 
  
security-admin/src/main/java/org/apache/ranger/common/db/RangerTransactionSynchronizationAdapter.java
 4bee9293b 


Diff: https://reviews.apache.org/r/73342/diff/1/


Testing
-------

Passed on unit tests.
Ensured that the x_service_version_info table is correctly updated when any 
change to service/policy/tag is effected. Also ensured that correct set of rows 
are created in x_policy_change_log and x_tag_change_log tables.


Thanks,

Abhay Kulkarni

Reply via email to