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


Ship it!




Ship It!

- Mehul Parikh


On March 31, 2020, 7:25 a.m., Mahesh Bandal wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/72252/
> -----------------------------------------------------------
> 
> (Updated March 31, 2020, 7:25 a.m.)
> 
> 
> Review request for ranger, Ankita Sinha, Gautam Borad, Madhan Neethiraj, 
> Mehul Parikh, Pradeep Agrawal, Ramesh Mani, Sailaja Polavarapu, and 
> Velmurugan Periasamy.
> 
> 
> Bugs: RANGER-2764
>     https://issues.apache.org/jira/browse/RANGER-2764
> 
> 
> Repository: ranger
> 
> 
> Description
> -------
> 
> The issue came when Role API was called in multi thread and two separate 
> threads were trying to INSERT same  roletype, which has unique constraint. ie 
> 'state_name' column in 'x_ranger_global_state' table. To handle such 
> scenarios, loading 'x_ranger_global_state' table with initial version values 
> during initial setup only.
> Also OptimisticLockException occurs for RoleCreation and RoleDeletion when 
> two threads are trying to update version column of x_ranger_global_state 
> table. To solve this proble I have used 
> RangerTransactionSynchronizationAdapter class for updating version in 
> synchonised way.
> 
> 
> Diffs
> -----
> 
>   security-admin/db/mysql/optimized/current/ranger_core_db_mysql.sql 
> 2d93fc429 
>   
> security-admin/db/mysql/patches/046-insert-statename-in-x-ranger-global-state.sql
>  PRE-CREATION 
>   security-admin/db/oracle/optimized/current/ranger_core_db_oracle.sql 
> 38e546a56 
>   
> security-admin/db/oracle/patches/046-insert-statename-in-x-ranger-global-state.sql
>  PRE-CREATION 
>   security-admin/db/postgres/optimized/current/ranger_core_db_postgres.sql 
> 7c2ada55e 
>   
> security-admin/db/postgres/patches/046-insert-statename-in-x-ranger-global-state.sql
>  PRE-CREATION 
>   
> security-admin/db/sqlanywhere/optimized/current/ranger_core_db_sqlanywhere.sql
>  7b0509cc0 
>   
> security-admin/db/sqlanywhere/patches/046-insert-statename-in-x-ranger-global-state.sql
>  PRE-CREATION 
>   security-admin/db/sqlserver/optimized/current/ranger_core_db_sqlserver.sql 
> 25b3bed34 
>   
> security-admin/db/sqlserver/patches/046-insert-statename-in-x-ranger-global-state.sql
>  PRE-CREATION 
>   security-admin/src/main/java/org/apache/ranger/biz/RoleDBStore.java 
> c4a32e46e 
>   security-admin/src/main/java/org/apache/ranger/db/XXGlobalStateDao.java 
> b979459e8 
> 
> 
> Diff: https://reviews.apache.org/r/72252/diff/6/
> 
> 
> Testing
> -------
> 
> 1. Fresh(Initial) Setup : Created new environment for ranger master. So now 
> patch execute successfully and 'x_ranger_global_state' table have intial 
> values with respected 'staste_name' columns with default 'version=1'.
> 
> 2. Upgrade ranger : Created new environment for ranger master branch and 
> ranger-2.0 branch. Run setup.sh file for   ranger-2.0. Initially no values in 
> 'x_ranger_global_state' table. Now setting up master branch with upgraded 
> patch and run setup.sh on master branch where db points to same schema as 
> ranger-2.0. db file '046-insert-statename-in-x-ranger-global-state.sql' 
> execute successfully and 'x_ranger_global_state' table have intial values 
> with respected 'staste_name' columns with default 'version=1'.
> 3. Created/Deleted 300 roles simultaneously. Roles are successfully created 
> but version update fails at some point with OptimisticLockException. Handled 
> exception and success response retured.
> 
> After applying patch; created/deleted multiple roles. 'state_name' column 
> updates successfully.
> 
> 
> Thanks,
> 
> Mahesh Bandal
> 
>

Reply via email to