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

Madhan Neethiraj resolved RANGER-4448.
--------------------------------------
    Fix Version/s: 3.0.0
       Resolution: Fixed

{noformat}
commit fb0d1d53dec11ea54e8e780e10e60ad78b081d68 (HEAD -> RANGER-3923, 
origin/RANGER-3923)
Author: prashant <[email protected]>
Date:   Fri Jan 5 14:49:52 2024 +0530

    RANGER-4448: updated GDS CRUD APIs to return appropriate status code on 
failure

    Signed-off-by: Madhan Neethiraj <[email protected]>
{noformat}

> GDS CRUD APIs should return proper response and message in case of failure
> --------------------------------------------------------------------------
>
>                 Key: RANGER-4448
>                 URL: https://issues.apache.org/jira/browse/RANGER-4448
>             Project: Ranger
>          Issue Type: Sub-task
>          Components: admin
>            Reporter: Subhrat Chaudhary
>            Assignee: Prashant Satam
>            Priority: Major
>             Fix For: 3.0.0
>
>
> Description: We need to handle following cases and return proper error 
> message and response: # In many cases 400 or 500 is thrown, in case the use 
> does not have permissions to execute the API. We need to handle such cases 
> and throw 403 and return proper error message.
>  # In case where user is trying to enter duplicate records, the error is 
> thrown with SQL query in response. In such cases, we need to throw 400 and 
> return proper error message.
>  
> Example : 
> 1)On the POST API call /service/gds/resource with duplicate resources 
> following error is thrown:
> {code:java}
> {    "statusCode": 1,    "msgDesc": "Exception [EclipseLink-4002] (Eclipse 
> Persistence Services - 2.7.12.v20230209-e5c4074ef3): 
> org.eclipse.persistence.exceptions.DatabaseException\nInternal Exception: 
> org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique 
> constraint \"x_gds_shared_resource_uk_resource_signature\"\n  Detail: Key 
> (data_share_id, resource_signature)=(3, 
> c5bd97fc0b8eaeb302f7498693f509178a134534cf7eb46d9edd55de71f7ab6c) already 
> exists.\nError Code: 0\nCall: INSERT INTO x_gds_shared_resource (id, 
> access_types, ADDED_BY_ID, additional_info, condition_expr, CREATE_TIME, 
> data_share_id, description, guid, is_enabled, name, options, profiles, 
> resource, resource_signature, row_filter, sub_resource_masks, 
> sub_resource_names, UPDATE_TIME, UPD_BY_ID, version) VALUES (?, ?, ?, ?, ?, 
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n\tbind => [21 parameters 
> bound]"} {code}
> We need to catch such exception in create API calls and return proper 
> response.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to