[ 
https://issues.apache.org/jira/browse/RANGER-3504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dineshkumar Yadav updated RANGER-3504:
--------------------------------------
    Description: 
Problem Statement

Currently we have two sets of patches in Ranger (DB & Java patches).
During Ranger setup, DB patches get executed first then Java patches get 
executed in an orderly manner based on their sequence. 
We don't have any mechanism where we can execute Java Patch first and it's 
dependent DB patch afterwards. 
 
Please find the below approach to handle such scenarios.

Approach:
 # While executing DB patches, first check if any pre java patches are present 
by name starting with {*}PatchPreSql_<DB_version>{*}.
 # If a Pre Java patch is found then execute that java patch first.
 # Execute DB patch.
 # Check again if there are any post java patches present by name starting with 
{*}PatchPostSql_<DB_version>{*}.
 # If Post Java patches are found, execute them.
 # While naming the dependent Java patches we need to follow the below 
convention.
 # Currently we follow convention: *Patch<custom_name>_J<5 digit sequence 
number>.java*
 # Proposed naming convention for dependent Java Patch. *Patch<Post or 
Pre>Sql_<dependent DB patch version number>_<custom_name>_J<5 digit sequence 
number>.java*

Use Case: 
Suppose we have a DB patch (050-uniqueindex.sql) and there are two Java patches 
one needs to execute before and another immediately after DB patch.
In that scenario we should use the following convention for naming java patches.
Pre Java Patch : PatchPreSql_050_CleanData_J10050.java 
Post Java Patch : PatchPostSql_050_UpdateData_J10051.java

Note: File to be changed : db_setup.py
 

  was:
Currently we have two sets of patches in Ranger (DB & Java patches).
During Ranger setup, DB patches get executed first then Java patches get 
executed in an orderly manner based on their sequence. 
We don't have any mechanism where we can execute Java Patch first and it's 
dependent DB patch afterwards. 
 
This Jira is created to handle such scenarios by providing some framework.
 


> Create framework to execute DB patch dependent on Java patch.
> -------------------------------------------------------------
>
>                 Key: RANGER-3504
>                 URL: https://issues.apache.org/jira/browse/RANGER-3504
>             Project: Ranger
>          Issue Type: Improvement
>          Components: Ranger
>            Reporter: Dineshkumar Yadav
>            Assignee: Dineshkumar Yadav
>            Priority: Major
>
> Problem Statement
> Currently we have two sets of patches in Ranger (DB & Java patches).
> During Ranger setup, DB patches get executed first then Java patches get 
> executed in an orderly manner based on their sequence. 
> We don't have any mechanism where we can execute Java Patch first and it's 
> dependent DB patch afterwards. 
>  
> Please find the below approach to handle such scenarios.
> Approach:
>  # While executing DB patches, first check if any pre java patches are 
> present by name starting with {*}PatchPreSql_<DB_version>{*}.
>  # If a Pre Java patch is found then execute that java patch first.
>  # Execute DB patch.
>  # Check again if there are any post java patches present by name starting 
> with {*}PatchPostSql_<DB_version>{*}.
>  # If Post Java patches are found, execute them.
>  # While naming the dependent Java patches we need to follow the below 
> convention.
>  # Currently we follow convention: *Patch<custom_name>_J<5 digit sequence 
> number>.java*
>  # Proposed naming convention for dependent Java Patch. *Patch<Post or 
> Pre>Sql_<dependent DB patch version number>_<custom_name>_J<5 digit sequence 
> number>.java*
> Use Case: 
> Suppose we have a DB patch (050-uniqueindex.sql) and there are two Java 
> patches one needs to execute before and another immediately after DB patch.
> In that scenario we should use the following convention for naming java 
> patches.
> Pre Java Patch : PatchPreSql_050_CleanData_J10050.java 
> Post Java Patch : PatchPostSql_050_UpdateData_J10051.java
> Note: File to be changed : db_setup.py
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to