You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ranger.apache.org by Ramachandran Krishnan <ra...@gmail.com> on 2023/02/01 03:58:35 UTC

Re: Review Request 74251: RANGER-4012:getPolicyByName searches policy by serviceName, policyName simply by traverse all policies in RangerServicePoliciesCache instead of DB

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

(Updated Feb. 1, 2023, 3:58 a.m.)


Review request for ranger, Don Bosco Durai, Kirby Zhou, Abhay Kulkarni, Madhan Neethiraj, Mehul Parikh, Nikhil P, Pradeep Agrawal, Ramesh Mani, Selvamohan Neethiraj, Sailaja Polavarapu, Subhrat Chaudhary, and Velmurugan Periasamy.


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


Repository: ranger


Description
-------

getPolicyByName searches policy by serviceName, policyName simply by traverse all policies in RangerServicePoliciesCache. 

However, It takes more time to search for policies from the cache when there are millions of policies

As well as The above REST API sometimes gives stable data due to the deleted element is present in the Cache 

We need to call the DB to fetch policy instead of calling RangerServicePoliciesCache

In PublicAPIsv2 we add the API's which are available in ServiceREST as an API and the getPolicyByName is not available as an API in ServiceREST.

getPolicyByName ---> (/api/service/{servicename}/policy/{policyname}) in PublicAPIsv2

I guess we should add the below  API in ServiceREST also for the same.

getPolicyByName ---> (/policies/service/{serviceName}/policy/{policyName}) in ServiceREST


Diffs (updated)
-----

  intg/src/main/java/org/apache/ranger/RangerClient.java e4e3a57ad 
  intg/src/main/python/apache_ranger/client/ranger_client.py 527380de7 
  ranger-examples/sample-client/src/main/java/org/apache/ranger/examples/sampleclient/SampleClient.java d0202e47e 
  security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java d98910bee 
  security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java ec02f47f7 
  security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java 7409883ab 
  security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java 8fdcc43c8 


Diff: https://reviews.apache.org/r/74251/diff/6/

Changes: https://reviews.apache.org/r/74251/diff/5-6/


Testing
-------


Thanks,

Ramachandran Krishnan


Re: Review Request 74251: RANGER-4012:getPolicyByName searches policy by serviceName, policyName simply by traverse all policies in RangerServicePoliciesCache instead of DB

Posted by Madhan Neethiraj <ma...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/74251/#review225163
-----------------------------------------------------------


Ship it!




Ship It!

- Madhan Neethiraj


On Feb. 7, 2023, 5:34 p.m., Ramachandran Krishnan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/74251/
> -----------------------------------------------------------
> 
> (Updated Feb. 7, 2023, 5:34 p.m.)
> 
> 
> Review request for ranger, Don Bosco Durai, Kirby Zhou, Abhay Kulkarni, Madhan Neethiraj, Mehul Parikh, Nikhil P, Pradeep Agrawal, Ramesh Mani, Selvamohan Neethiraj, Sailaja Polavarapu, Subhrat Chaudhary, and Velmurugan Periasamy.
> 
> 
> Bugs: RANGER-4012
>     https://issues.apache.org/jira/browse/RANGER-4012
> 
> 
> Repository: ranger
> 
> 
> Description
> -------
> 
> getPolicyByName searches policy by serviceName, policyName simply by traverse all policies in RangerServicePoliciesCache. 
> 
> However, It takes more time to search for policies from the cache when there are millions of policies
> 
> As well as The above REST API sometimes gives stable data due to the deleted element is present in the Cache 
> 
> We need to call the DB to fetch policy instead of calling RangerServicePoliciesCache
> 
> In PublicAPIsv2 we add the API's which are available in ServiceREST as an API and the getPolicyByName is not available as an API in ServiceREST.
> 
> getPolicyByName ---> (/api/service/{servicename}/policy/{policyname}) in PublicAPIsv2
> 
> I guess we should add the below  API in ServiceREST also for the same.
> 
> getPolicyByName ---> (/policies/service/{serviceName}/policy/{policyName}) in ServiceREST
> 
> 
> Diffs
> -----
> 
>   intg/src/main/java/org/apache/ranger/RangerClient.java e4e3a57ad 
>   intg/src/main/python/apache_ranger/client/ranger_client.py 16853d4c2 
>   ranger-examples/sample-client/src/main/java/org/apache/ranger/examples/sampleclient/SampleClient.java d0202e47e 
>   security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java d98910bee 
>   security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java e02b0ea42 
>   security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java 7409883ab 
>   security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java 5e3b1908d 
> 
> 
> Diff: https://reviews.apache.org/r/74251/diff/8/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Ramachandran Krishnan
> 
>


Re: Review Request 74251: RANGER-4012:getPolicyByName searches policy by serviceName, policyName simply by traverse all policies in RangerServicePoliciesCache instead of DB

Posted by Ramachandran Krishnan <ra...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/74251/
-----------------------------------------------------------

(Updated Feb. 7, 2023, 5:34 p.m.)


Review request for ranger, Don Bosco Durai, Kirby Zhou, Abhay Kulkarni, Madhan Neethiraj, Mehul Parikh, Nikhil P, Pradeep Agrawal, Ramesh Mani, Selvamohan Neethiraj, Sailaja Polavarapu, Subhrat Chaudhary, and Velmurugan Periasamy.


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


Repository: ranger


Description
-------

getPolicyByName searches policy by serviceName, policyName simply by traverse all policies in RangerServicePoliciesCache. 

However, It takes more time to search for policies from the cache when there are millions of policies

As well as The above REST API sometimes gives stable data due to the deleted element is present in the Cache 

We need to call the DB to fetch policy instead of calling RangerServicePoliciesCache

In PublicAPIsv2 we add the API's which are available in ServiceREST as an API and the getPolicyByName is not available as an API in ServiceREST.

getPolicyByName ---> (/api/service/{servicename}/policy/{policyname}) in PublicAPIsv2

I guess we should add the below  API in ServiceREST also for the same.

getPolicyByName ---> (/policies/service/{serviceName}/policy/{policyName}) in ServiceREST


Diffs (updated)
-----

  intg/src/main/java/org/apache/ranger/RangerClient.java e4e3a57ad 
  intg/src/main/python/apache_ranger/client/ranger_client.py 16853d4c2 
  ranger-examples/sample-client/src/main/java/org/apache/ranger/examples/sampleclient/SampleClient.java d0202e47e 
  security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java d98910bee 
  security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java e02b0ea42 
  security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java 7409883ab 
  security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java 5e3b1908d 


Diff: https://reviews.apache.org/r/74251/diff/8/

Changes: https://reviews.apache.org/r/74251/diff/7-8/


Testing
-------


Thanks,

Ramachandran Krishnan


Re: Review Request 74251: RANGER-4012:getPolicyByName searches policy by serviceName, policyName simply by traverse all policies in RangerServicePoliciesCache instead of DB

Posted by Madhan Neethiraj <ma...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/74251/#review225162
-----------------------------------------------------------




intg/src/main/java/org/apache/ranger/RangerClient.java
Lines 291 (patched)
<https://reviews.apache.org/r/74251/#comment313929>

    "serviceName" => PARAM_SERVICE_NAME



security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
Line 4373 (original), 4373 (patched)
<https://reviews.apache.org/r/74251/#comment313930>

    Since PublicAPIsv2 already exposes REST endpoint for getPolicyByName(), I suggest to not make ServiceREST.getPolicyByName() available for REST i.e., remove annotations @GET, @Path, @Produce, @PathParam, @QueryParam.


- Madhan Neethiraj


On Feb. 7, 2023, 1:40 p.m., Ramachandran Krishnan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/74251/
> -----------------------------------------------------------
> 
> (Updated Feb. 7, 2023, 1:40 p.m.)
> 
> 
> Review request for ranger, Don Bosco Durai, Kirby Zhou, Abhay Kulkarni, Madhan Neethiraj, Mehul Parikh, Nikhil P, Pradeep Agrawal, Ramesh Mani, Selvamohan Neethiraj, Sailaja Polavarapu, Subhrat Chaudhary, and Velmurugan Periasamy.
> 
> 
> Bugs: RANGER-4012
>     https://issues.apache.org/jira/browse/RANGER-4012
> 
> 
> Repository: ranger
> 
> 
> Description
> -------
> 
> getPolicyByName searches policy by serviceName, policyName simply by traverse all policies in RangerServicePoliciesCache. 
> 
> However, It takes more time to search for policies from the cache when there are millions of policies
> 
> As well as The above REST API sometimes gives stable data due to the deleted element is present in the Cache 
> 
> We need to call the DB to fetch policy instead of calling RangerServicePoliciesCache
> 
> In PublicAPIsv2 we add the API's which are available in ServiceREST as an API and the getPolicyByName is not available as an API in ServiceREST.
> 
> getPolicyByName ---> (/api/service/{servicename}/policy/{policyname}) in PublicAPIsv2
> 
> I guess we should add the below  API in ServiceREST also for the same.
> 
> getPolicyByName ---> (/policies/service/{serviceName}/policy/{policyName}) in ServiceREST
> 
> 
> Diffs
> -----
> 
>   intg/src/main/java/org/apache/ranger/RangerClient.java e4e3a57ad 
>   intg/src/main/python/apache_ranger/client/ranger_client.py 16853d4c2 
>   ranger-examples/sample-client/src/main/java/org/apache/ranger/examples/sampleclient/SampleClient.java d0202e47e 
>   security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java d98910bee 
>   security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java e02b0ea42 
>   security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java 7409883ab 
>   security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java 5e3b1908d 
> 
> 
> Diff: https://reviews.apache.org/r/74251/diff/7/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Ramachandran Krishnan
> 
>


Re: Review Request 74251: RANGER-4012:getPolicyByName searches policy by serviceName, policyName simply by traverse all policies in RangerServicePoliciesCache instead of DB

Posted by Ramachandran Krishnan <ra...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/74251/
-----------------------------------------------------------

(Updated Feb. 7, 2023, 1:40 p.m.)


Review request for ranger, Don Bosco Durai, Kirby Zhou, Abhay Kulkarni, Madhan Neethiraj, Mehul Parikh, Nikhil P, Pradeep Agrawal, Ramesh Mani, Selvamohan Neethiraj, Sailaja Polavarapu, Subhrat Chaudhary, and Velmurugan Periasamy.


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


Repository: ranger


Description
-------

getPolicyByName searches policy by serviceName, policyName simply by traverse all policies in RangerServicePoliciesCache. 

However, It takes more time to search for policies from the cache when there are millions of policies

As well as The above REST API sometimes gives stable data due to the deleted element is present in the Cache 

We need to call the DB to fetch policy instead of calling RangerServicePoliciesCache

In PublicAPIsv2 we add the API's which are available in ServiceREST as an API and the getPolicyByName is not available as an API in ServiceREST.

getPolicyByName ---> (/api/service/{servicename}/policy/{policyname}) in PublicAPIsv2

I guess we should add the below  API in ServiceREST also for the same.

getPolicyByName ---> (/policies/service/{serviceName}/policy/{policyName}) in ServiceREST


Diffs (updated)
-----

  intg/src/main/java/org/apache/ranger/RangerClient.java e4e3a57ad 
  intg/src/main/python/apache_ranger/client/ranger_client.py 16853d4c2 
  ranger-examples/sample-client/src/main/java/org/apache/ranger/examples/sampleclient/SampleClient.java d0202e47e 
  security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java d98910bee 
  security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java e02b0ea42 
  security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java 7409883ab 
  security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java 5e3b1908d 


Diff: https://reviews.apache.org/r/74251/diff/7/

Changes: https://reviews.apache.org/r/74251/diff/6-7/


Testing
-------


Thanks,

Ramachandran Krishnan