[ 
https://issues.apache.org/jira/browse/RANGER-5345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18032421#comment-18032421
 ] 

Sanket Shelar commented on RANGER-5345:
---------------------------------------

Merged in master - 
https://github.com/apache/ranger/commit/a522bc6fda3de336bf38dbe42395fe4e57b54f7a

> [GDS] Shared resource creation api is failing for oracle db
> -----------------------------------------------------------
>
>                 Key: RANGER-5345
>                 URL: https://issues.apache.org/jira/browse/RANGER-5345
>             Project: Ranger
>          Issue Type: Bug
>          Components: Ranger
>    Affects Versions: 3.0.0
>            Reporter: Sanket Shelar
>            Assignee: Sanket Shelar
>            Priority: Major
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Api is failing due to distinct present in query for oracle.
>  
> {code:java}
> <named-query name="XXGdsProject.findProjectsWithDataShareInStatus"> 
> <query>SELECT DISTINCT obj FROM XXGdsProject obj, XXGdsDatasetInProject dip, 
> XXGdsDataShareInDataset dshid WHERE dshid.dataShareId = :dataShareId   AND 
> dshid.status      = :status   AND dip.datasetId     = dshid.datasetId   AND 
> dip.projectId     = obj.id   AND dip.status        = :status</query> 
> </named-query>{code}
>  
> Error log - 
>  
> {code:java}
> Caused by: org.eclipse.persistence.exceptions.DatabaseException:  Internal 
> Exception: java.sql.SQLException: ORA-22848: cannot use CLOB type as 
> comparison key   Error Code: 22848 Call: SELECT DISTINCT t2.id, t2.acl, 
> t2.ADDED_BY_ID, t2.additional_info, t2.CREATE_TIME, t2.description, t2.guid, 
> t2.is_enabled, t2.name, t2.options, t2.terms_of_use, t2.UPDATE_TIME, 
> t2.UPD_BY_ID, t2.version FROM x_gds_dataset_in_project t0, x_gds_project t2, 
> x_gds_data_share_in_dataset t1 WHERE (((((t1.data_share_id = ?) AND 
> (t1.status = ?)) AND (t0.dataset_id = t1.dataset_id)) AND (t0.project_id = 
> t2.id)) AND (t0.status = ?)) bind => [3 parameters bound] Query: 
> ReadAllQuery(name="XXGdsProject.findProjectsWithDataShareInStatus" 
> referenceClass=XXGdsProject sql="SELECT DISTINCT t2.id, t2.acl, 
> t2.ADDED_BY_ID, t2.additional_info, t2.CREATE_TIME, t2.description, t2.guid, 
> t2.is_enabled, t2.name, t2.options, t2.terms_of_use, t2.UPDATE_TIME, 
> t2.UPD_BY_ID, t2.version FROM x_gds_dataset_in_project t0, x_gds_project t2, 
> x_gds_data_share_in_dataset t1 WHERE (((((t1.data_share_id = ?) AND 
> (t1.status = ?)) AND (t0.dataset_id = t1.dataset_id)) AND (t0.project_id = 
> t2.id)) AND (t0.status = ?))") at 
> org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:342)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:700)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:567)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2105)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:313)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:275)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:261)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:345)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:765)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2776)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2729)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:584)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1232)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:913) 
> ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1191)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:485) 
> ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1279)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:3004)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1898)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1880)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1845)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] at 
> org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:262)
>  ~[eclipselink-2.7.12.jar:2.7.12.v20230209-e5c4074ef3] ... 125 more Caused 
> by: java.sql.SQLException: ORA-22848: cannot use CLOB type as comparison 
> key{code}
>  
>  
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> Additionally seeing error logs whenever GDS resource APIs are invoked.
> {code:java}
> 2025-09-29 10:18:38,163 ERROR 
> org.apache.ranger.authorization.utils.JsonUtils: 
> [https-jsse-nio-6182-exec-1]: Cannot get Map<String, 
> RangerPolicyItemDataMaskInfo> from null java.lang.IllegalArgumentException: 
> argument "content" is null at 
> com.fasterxml.jackson.databind.ObjectMapper._assertNotNull(ObjectMapper.java:4980)
>  ~[jackson-databind-2.15.3.jar:?] at 
> com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3754) 
> ~[jackson-databind-2.15.3.jar:?] at 
> org.apache.ranger.authorization.utils.JsonUtils.jsonToListGdsMaskInfo(JsonUtils.java:283)
>  [ranger-plugins-common-2.6.0.7.3.2.0-590.jar:?] at 
> org.apache.ranger.service.RangerGdsDataShareService.mapEntityToViewBean(RangerGdsDataShareService.java:164)
>  [classes/:?] at 
> org.apache.ranger.service.RangerGdsDataShareService.mapEntityToViewBean(RangerGdsDataShareService.java:48)
>  [classes/:?] at 
> org.apache.ranger.service.RangerBaseModelService.populateViewBean(RangerBaseModelService.java:312)
>  [classes/:?] at 
> org.apache.ranger.service.RangerBaseModelService.postCreate(RangerBaseModelService.java:130)
>  [classes/:?] at 
> org.apache.ranger.service.RangerGdsDataShareService.postCreate(RangerGdsDataShareService.java:92)
>  [classes/:?] at 
> org.apache.ranger.service.RangerGdsDataShareService.postCreate(RangerGdsDataShareService.java:48)
>  [classes/:?] at 
> org.apache.ranger.service.RangerBaseModelService.create(RangerBaseModelService.java:137)
>  [classes/:?] at 
> org.apache.ranger.biz.GdsDBStore.createDataShare(GdsDBStore.java:560) 
> [classes/:?] at 
> org.apache.ranger.rest.GdsREST.getOrCreateDataShare(GdsREST.java:2148) 
> [classes/:?] at 
> org.apache.ranger.rest.GdsREST.addDatasetResources(GdsREST.java:215) 
> [classes/:?] at 
> org.apache.ranger.rest.GdsREST$$FastClassBySpringCGLIB$$5397f2f3.invoke(<generated>)
>  [classes/:?] at 
> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) 
> [spring-core-5.3.44.cldr-b1.jar:5.3.44.cldr-b1] at 
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
>  [spring-aop-5.3.44.cldr-b1.jar:5.3.44.cldr-b1] at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
>  [spring-aop-5.3.44.cldr-b1.jar:5.3.44.cldr-b1] at 
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
>  [spring-aop-5.3.44.cldr-b1.jar:5.3.44.cldr-b1] at 
> org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:67)
>  [spring-security-core-5.8.18.cldr-b1.jar:5.8.18.cldr-b1] at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
>  [spring-aop-5.3.44.cldr-b1.jar:5.3.44.cldr-b1] at 
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
>  [spring-aop-5.3.44.cldr-b1.jar:5.3.44.cldr-b1] at 
> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
>  [spring-tx-5.3.44.cldr-b1.jar:5.3.44.cldr-b1] at 
> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
>  [spring-tx-5.3.44.cldr-b1.jar:5.3.44.cldr-b1] at 
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
>  [spring-tx-5.3.44.cldr-b1.jar:5.3.44.cldr-b1] at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
>  [spring-aop-5.3.44.cldr-b1.jar:5.3.44.cldr-b1] at 
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
>  [spring-aop-5.3.44.cldr-b1.jar:5.3.44.cldr-b1] at 
> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
>  [spring-aop-5.3.44.cldr-b1.jar:5.3.44.cldr-b1] at 
> org.apache.ranger.rest.GdsREST$$EnhancerBySpringCGLIB$$c940cf2e.addDatasetResources(<generated>)
>  [classes/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method) ~[?:?] at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  ~[?:?] at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at 
> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
>  [jersey-bundle-1.19.4.jar:1.19.4] at 
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
>  [jersey-bundle-1.19.4.jar:1.19.4] at 
> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
>  [jersey-bundle-1.19.4.jar:1.19.4] at 
> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
>  [jersey-bundle-1.19.4.jar:1.19.4] at 
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
>  [jersey-bundle-1.19.4.jar:1.19.4] at 
> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
>  [jersey-bundle-1.19.4.jar:1.19.4] at 
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
>  [jersey-bundle-1.19.4.jar:1.19.4] at 
> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
>  [jersey-bundle-1.19.4.jar:1.19.4]{code}



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

Reply via email to