You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ranger.apache.org by Pradeep Agrawal <pr...@gmail.com> on 2023/04/14 15:14:11 UTC
Review Request 74397: RANGER-4188: updatePolicy results in 400 status code
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/74397/
-----------------------------------------------------------
Review request for ranger, Abhishek Kumar, Dineshkumar Yadav, Kishor Gollapalliwar, Abhay Kulkarni, Madhan Neethiraj, Nikhil P, Pradeep Agrawal, Ramesh Mani, Sailaja Polavarapu, and Velmurugan Periasamy.
Bugs: RANGER-4188
https://issues.apache.org/jira/browse/RANGER-4188
Repository: ranger
Description
-------
**Problem Statement: ** Ranger createPolicy request failed with response code 400 and following stacktrace.
2023-04-12 16:05:31,526 INFO org.apache.zookeeper.ClientCnxn: [Thread-2-SendThread(pfelker-dest-1.pfelker-dest.root.hwx.site:2181)]: Socket connection established, initiating se2023-04-12 16:30:53,674 INFO org.apache.ranger.common.RESTErrorUtil: [https-jsse-nio-6182-exec-3]: Request failed. loginId=ranger, logMessage=policyID mismatch
javax.ws.rs.WebApplicationException: null
at org.apache.ranger.common.RESTErrorUtil.createRESTException(RESTErrorUtil.java:338) [classes/:?]
at org.apache.ranger.rest.ServiceREST.updatePolicy(ServiceREST.java:1782) [classes/:?]
at org.apache.ranger.rest.ServiceREST.applyPolicy(ServiceREST.java:1749) [classes/:?]
at org.apache.ranger.rest.ServiceREST.createPolicy(ServiceREST.java:1658) [classes/:?]
**Proposed solution: ** After debugging the issue found the call from applyPolicy is sending policy id as null which is caused by RANGER-3883. Rather sending a null value the proposed patch shall pass the policy id.
Diffs
-----
security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java 5542250aa
Diff: https://reviews.apache.org/r/74397/diff/1/
Testing
-------
Tested the policy create request using a curl request on this patch change instance and got 200 response code.
Thanks,
Pradeep Agrawal
Re: Review Request 74397: RANGER-4188: updatePolicy results in 400 status code
Posted by Ramachandran Krishnan <ra...@gmail.com>.
> On April 17, 2023, 7:13 a.m., Abhishek Kumar wrote:
> > security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
> > Line 1764 (original), 1764 (patched)
> > <https://reviews.apache.org/r/74397/diff/1/?file=2275853#file2275853line1764>
> >
> > There are other occurences of updatePolicy(policy, null); in the same file, they don't require the policy id to be passed ?
As part of updatePolicy method ,we are checking policy.getId().equals(id)
In this case it seems it throws the 400 Error
public RangerPolicy updatePolicy(RangerPolicy policy, @PathParam("id") Long id) {
if(LOG.isDebugEnabled()) {
LOG.debug("==> ServiceREST.updatePolicy(" + policy + ")");
}
// if policy.id and param 'id' are specified, policy.id should be same as the param 'id'
// if policy.id is null, then set param 'id' into policy Object
if (policy.getId() == null) {
policy.setId(id);
} else if(!policy.getId().equals(id)) {
throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST , "policyID mismatch", true);
}
One way As Pradeep said,Rather then sending null we will pass the policy Id
or we need to change the validation logic a bit
id != null && !policy.getId().equals(id)
// if policy.id and param 'id' are specified, policy.id should be same as the param 'id'
// if policy.id is null, then set param 'id' into policy Object
if (policy.getId() == null) {
policy.setId(id);
} else if(id != null && !policy.getId().equals(id)) {
throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST , "policyID mismatch", true);
}
- Ramachandran
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/74397/#review225385
-----------------------------------------------------------
On April 14, 2023, 3:14 p.m., Pradeep Agrawal wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/74397/
> -----------------------------------------------------------
>
> (Updated April 14, 2023, 3:14 p.m.)
>
>
> Review request for ranger, Abhishek Kumar, Dineshkumar Yadav, Kishor Gollapalliwar, Abhay Kulkarni, Madhan Neethiraj, Nikhil P, Pradeep Agrawal, Ramesh Mani, Sailaja Polavarapu, and Velmurugan Periasamy.
>
>
> Bugs: RANGER-4188
> https://issues.apache.org/jira/browse/RANGER-4188
>
>
> Repository: ranger
>
>
> Description
> -------
>
> **Problem Statement: ** Ranger createPolicy request failed with response code 400 and following stacktrace.
>
> 2023-04-12 16:05:31,526 INFO org.apache.zookeeper.ClientCnxn: [Thread-2-SendThread(pfelker-dest-1.pfelker-dest.root.hwx.site:2181)]: Socket connection established, initiating se2023-04-12 16:30:53,674 INFO org.apache.ranger.common.RESTErrorUtil: [https-jsse-nio-6182-exec-3]: Request failed. loginId=ranger, logMessage=policyID mismatch
> javax.ws.rs.WebApplicationException: null
> at org.apache.ranger.common.RESTErrorUtil.createRESTException(RESTErrorUtil.java:338) [classes/:?]
> at org.apache.ranger.rest.ServiceREST.updatePolicy(ServiceREST.java:1782) [classes/:?]
> at org.apache.ranger.rest.ServiceREST.applyPolicy(ServiceREST.java:1749) [classes/:?]
> at org.apache.ranger.rest.ServiceREST.createPolicy(ServiceREST.java:1658) [classes/:?]
>
> **Proposed solution: ** After debugging the issue found the call from applyPolicy is sending policy id as null which is caused by RANGER-3883. Rather sending a null value the proposed patch shall pass the policy id.
>
>
> Diffs
> -----
>
> security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java 5542250aa
>
>
> Diff: https://reviews.apache.org/r/74397/diff/1/
>
>
> Testing
> -------
>
> Tested the policy create request using a curl request on this patch change instance and got 200 response code.
>
>
> Thanks,
>
> Pradeep Agrawal
>
>
Re: Review Request 74397: RANGER-4188: updatePolicy results in 400 status code
Posted by Abhishek Kumar <ab...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/74397/#review225385
-----------------------------------------------------------
security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
Line 1764 (original), 1764 (patched)
<https://reviews.apache.org/r/74397/#comment314023>
There are other occurences of updatePolicy(policy, null); in the same file, they don't require the policy id to be passed ?
- Abhishek Kumar
On April 14, 2023, 3:14 p.m., Pradeep Agrawal wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/74397/
> -----------------------------------------------------------
>
> (Updated April 14, 2023, 3:14 p.m.)
>
>
> Review request for ranger, Abhishek Kumar, Dineshkumar Yadav, Kishor Gollapalliwar, Abhay Kulkarni, Madhan Neethiraj, Nikhil P, Pradeep Agrawal, Ramesh Mani, Sailaja Polavarapu, and Velmurugan Periasamy.
>
>
> Bugs: RANGER-4188
> https://issues.apache.org/jira/browse/RANGER-4188
>
>
> Repository: ranger
>
>
> Description
> -------
>
> **Problem Statement: ** Ranger createPolicy request failed with response code 400 and following stacktrace.
>
> 2023-04-12 16:05:31,526 INFO org.apache.zookeeper.ClientCnxn: [Thread-2-SendThread(pfelker-dest-1.pfelker-dest.root.hwx.site:2181)]: Socket connection established, initiating se2023-04-12 16:30:53,674 INFO org.apache.ranger.common.RESTErrorUtil: [https-jsse-nio-6182-exec-3]: Request failed. loginId=ranger, logMessage=policyID mismatch
> javax.ws.rs.WebApplicationException: null
> at org.apache.ranger.common.RESTErrorUtil.createRESTException(RESTErrorUtil.java:338) [classes/:?]
> at org.apache.ranger.rest.ServiceREST.updatePolicy(ServiceREST.java:1782) [classes/:?]
> at org.apache.ranger.rest.ServiceREST.applyPolicy(ServiceREST.java:1749) [classes/:?]
> at org.apache.ranger.rest.ServiceREST.createPolicy(ServiceREST.java:1658) [classes/:?]
>
> **Proposed solution: ** After debugging the issue found the call from applyPolicy is sending policy id as null which is caused by RANGER-3883. Rather sending a null value the proposed patch shall pass the policy id.
>
>
> Diffs
> -----
>
> security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java 5542250aa
>
>
> Diff: https://reviews.apache.org/r/74397/diff/1/
>
>
> Testing
> -------
>
> Tested the policy create request using a curl request on this patch change instance and got 200 response code.
>
>
> Thanks,
>
> Pradeep Agrawal
>
>
Re: Review Request 74397: RANGER-4188: updatePolicy results in 400 status code
Posted by Ramachandran Krishnan <ra...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/74397/#review225441
-----------------------------------------------------------
Ship it!
Ship It!
- Ramachandran Krishnan
On April 14, 2023, 3:14 p.m., Pradeep Agrawal wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/74397/
> -----------------------------------------------------------
>
> (Updated April 14, 2023, 3:14 p.m.)
>
>
> Review request for ranger, Abhishek Kumar, Dineshkumar Yadav, Kishor Gollapalliwar, Abhay Kulkarni, Madhan Neethiraj, Nikhil P, Pradeep Agrawal, Ramesh Mani, Sailaja Polavarapu, and Velmurugan Periasamy.
>
>
> Bugs: RANGER-4188
> https://issues.apache.org/jira/browse/RANGER-4188
>
>
> Repository: ranger
>
>
> Description
> -------
>
> **Problem Statement: ** Ranger createPolicy request failed with response code 400 and following stacktrace.
>
> 2023-04-12 16:05:31,526 INFO org.apache.zookeeper.ClientCnxn: [Thread-2-SendThread(pfelker-dest-1.pfelker-dest.root.hwx.site:2181)]: Socket connection established, initiating se2023-04-12 16:30:53,674 INFO org.apache.ranger.common.RESTErrorUtil: [https-jsse-nio-6182-exec-3]: Request failed. loginId=ranger, logMessage=policyID mismatch
> javax.ws.rs.WebApplicationException: null
> at org.apache.ranger.common.RESTErrorUtil.createRESTException(RESTErrorUtil.java:338) [classes/:?]
> at org.apache.ranger.rest.ServiceREST.updatePolicy(ServiceREST.java:1782) [classes/:?]
> at org.apache.ranger.rest.ServiceREST.applyPolicy(ServiceREST.java:1749) [classes/:?]
> at org.apache.ranger.rest.ServiceREST.createPolicy(ServiceREST.java:1658) [classes/:?]
>
> **Proposed solution: ** After debugging the issue found the call from applyPolicy is sending policy id as null which is caused by RANGER-3883. Rather sending a null value the proposed patch shall pass the policy id.
>
>
> Diffs
> -----
>
> security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java 83086106b
>
>
> Diff: https://reviews.apache.org/r/74397/diff/2/
>
>
> Testing
> -------
>
> Tested the policy create request using a curl request on this patch change instance and got 200 response code.
>
>
> Thanks,
>
> Pradeep Agrawal
>
>