> On Nov. 15, 2018, 3:40 p.m., Velmurugan Periasamy wrote:
> > security-admin/scripts/db_setup.py
> > Lines 485 (patched)
> > <https://reviews.apache.org/r/69347/diff/1/?file=2108095#file2108095line585>
> >
> >     1] Would be better to isolate this logic to a method so that it can be 
> > reused instead of repeating in all places, i.e. import_db_patches, 
> > execute_java_patches, change_admin_default_password, 
> > change_all_admin_default_password, import_core_db_schema all of these 
> > places have the same logic.
> >     
> >     2] Should this 10 min be made configurable?

1) Will be tracking it separately with RANGER-2287
2) I have introduced one variable at line 32 to make it configurable. but 
currently it may not be possible for all db specifically postgres however will 
explore this further.


- Pradeep


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


On Nov. 15, 2018, 1:43 p.m., Pradeep Agrawal wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/69347/
> -----------------------------------------------------------
> 
> (Updated Nov. 15, 2018, 1:43 p.m.)
> 
> 
> Review request for ranger, Abhay Kulkarni, Madhan Neethiraj, Mehul Parikh, 
> Nikhil P, Ramesh Mani, and Velmurugan Periasamy.
> 
> 
> Bugs: RANGER-2286
>     https://issues.apache.org/jira/browse/RANGER-2286
> 
> 
> Repository: ranger
> 
> 
> Description
> -------
> 
> **Problem Statement:** Before execution of any db/java patch db_setup.py file 
> makes an entry in x_db_version_h table for that patch version and keep status 
> active='N'. after this it steps ahead and try to apply the patch. if patch 
> gets applies then active status is updated to 'Y'. if patch execution fails 
> then it deletes that entry and terminates ranger installation so that user 
> can retry the ranger install process. Sometime due to network or a runtime 
> error Ranger could not change the active status to 'Y' or delete the entry in 
> that case ranger install may be prevented due to leftover DB entry as the 
> next install attempt may wait for the status to be 'Y' while it could be 
> possible that there would not be any process which can apply the patch(this 
> will happen in Non-HA case).
> This prevents any further attempt to install/start Ranger without manually 
> deleting the entry from the database.
> 
> **Proposed Solution:**
> if entries made by a host is older than 10 minute then ranger setup process 
> will try to delete such entry and retry the patch execution.
> 
> Patch execution process shall have following rules after this patch.
> 1) Before execution a patch setup process will check whether a patch is 
> applied or not; if patch is already applied then it will move to next patch.
> 2) If patch is not applied then it will check whether patch status entry 
> exist with active='N' in x_db_version_h table from any of the host.  
> 3) If patch status entry with active='N' exist in x_db_version_h table for a 
> different host then ranger setup process will wait untill the another host 
> applies the patch successfully and update the patch status entry to 
> active='Y'. Please note that patch recheck such entry in every 2 
> minutes(default recheck interval)
> 4) If patch status entry with active='N' exist in x_db_version_h table for 
> the same host then ranger setup process will wait for maximum 10 minutes. 
> After that ranger process will delete that entry and check the entry again. 
> if entry does not exist then it will try to apply the patch again else it 
> will wait for forever or unless you delete such entries manually.  Please 
> note that ranger will be checking the status entry every 2 minutes untill 10 
> minute wait time expires.
> 
> **Note**
> 1) Patch has been provided for ranger supported all the db flavors.
> 2) Cureent patch also removes several lines of audit db related dead code 
> which is not required now.
> 
> 
> Diffs
> -----
> 
>   security-admin/scripts/db_setup.py 73b24aca0 
> 
> 
> Diff: https://reviews.apache.org/r/69347/diff/1/
> 
> 
> Testing
> -------
> 
> **Steps performed for Ranger-admin **
> 
> 1. To reproduce the case first installed ranger-0.7:
> 2. Now from the master branch.
> 3. Created Build with patch and untar the build.
> 4. Opened install.properties and provided db configuration in 
> install.properties which was provided in ranger-0.7 branch build.
> 5. Called setup.sh
> 6. Ranger setup process shall try to apply the new db/java patches.
> 7. As soon as setup process started executing the patch J10014, terminated 
> the script by using ctrl+c
> 8. logged into ranger db and ensured that J10014 patch entry has active='N'
> 9. Called the setup.sh again
> 10. setup process waited for the patch J10014 status for sometime and then it 
> deleted the entry of J10014 patch from x_db_version_h table.
> 11.  setup process continues and applied the patch J10014 successfully.
> 12.  setup process completed successfully after applying all the patches.
> 13.  started ranger-admin and was able to see the ranger-admin dashboard page.
> 
> 
> Thanks,
> 
> Pradeep Agrawal
> 
>

Reply via email to