You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ranger.apache.org by "Rakesh Gupta (Jira)" <ji...@apache.org> on 2026/03/23 07:44:00 UTC
[jira] [Updated] (RANGER-5526) Security Zone creation fails with tag service due to NonUniqueResultException
[ https://issues.apache.org/jira/browse/RANGER-5526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rakesh Gupta updated RANGER-5526:
---------------------------------
Description:
While creating a Security Zone with a tag service, the operation fails during postCreate execution. The stack trace shows a NonUniqueResultException from XXAccessTypeDefDao.findByNameAndServiceId(), triggered during default policy creation.
This issue is caused by duplicate entries in the access type definition tables for the associated service.
For example, the following query returns 2 records:
select * from x_access_type_def where name = 'ozone:assume_role';
{code:java}
ERROR [RangerSecurityZoneServiceService.java:102] postCreate processing failed for security-zone:[{name=zone_1, services={dev_hive={resources=[{resource={resource-def-name=database, values=[t]} {resource-def-name=column, values=[*]} {resource-def-name=table, values=[*]} } {baseInfo={id=1, createdBy=admin, createTime=Thu Mar 19 11:26:49 UTC 2026, updatedBy=admin, updateTime=Thu Mar 19 11:26:49 UTC 2026}} ]}}, tagServices=[dev_tag], adminUsers=[admin], adminUserGroups=[testgroup], adminRoles=[], auditUsers=[admin], auditUserGroups=[testgroup], auditRoles=[], description=}]javax.persistence.NonUniqueResultException: More than one result was returned from Query.getSingleResult() at org.eclipse.persistence.internal.jpa.QueryImpl.throwNonUniqueResultException(QueryImpl.java:991) at org.eclipse.persistence.internal.jpa.QueryImpl.getSingleResult(QueryImpl.java:538) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:404) at org.apache.ranger.db.XXAccessTypeDefDao.findByNameAndServiceId(XXAccessTypeDefDao.java:59) at org.apache.ranger.biz.PolicyRefUpdater.createNewPolMappingForRefTable(PolicyRefUpdater.java:279) at org.apache.ranger.biz.ServiceDBStore.createPolicy(ServiceDBStore.java:2293) at org.apache.ranger.biz.ServiceDBStore.createDefaultPolicy(ServiceDBStore.java:1416) at org.apache.ranger.biz.ServiceDBStore.createZoneDefaultPolicies(ServiceDBStore.java:2438) at org.apache.ranger.service.RangerSecurityZoneServiceService.postCreate(RangerSecurityZoneServiceService.java:99) at org.apache.ranger.service.RangerSecurityZoneServiceService.postCreate(RangerSecurityZoneServiceService.java:53) at org.apache.ranger.service.RangerBaseModelService.create(RangerBaseModelService.java:138) at org.apache.ranger.biz.SecurityZoneDBStore.createSecurityZone(SecurityZoneDBStore.java:99) at org.apache.ranger.rest.SecurityZoneREST.createSecurityZone(SecurityZoneREST.java:147) at org.apache.ranger.rest.SecurityZoneREST$$FastClassBySpringCGLIB$$797df817.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) {code}
was:
While creating a Security Zone with a tag service, the operation fails during postCreate execution. The stack trace shows a NonUniqueResultException from XXAccessTypeDefDao.findByNameAndServiceId(), triggered during default policy creation.
This issue is caused by duplicate entries in the access type definition tables for the associated service.
{code:java}
ERROR [RangerSecurityZoneServiceService.java:102] postCreate processing failed for security-zone:[{name=zone_1, services={dev_hive={resources=[{resource={resource-def-name=database, values=[t]} {resource-def-name=column, values=[*]} {resource-def-name=table, values=[*]} } {baseInfo={id=1, createdBy=admin, createTime=Thu Mar 19 11:26:49 UTC 2026, updatedBy=admin, updateTime=Thu Mar 19 11:26:49 UTC 2026}} ]}}, tagServices=[dev_tag], adminUsers=[admin], adminUserGroups=[testgroup], adminRoles=[], auditUsers=[admin], auditUserGroups=[testgroup], auditRoles=[], description=}]javax.persistence.NonUniqueResultException: More than one result was returned from Query.getSingleResult() at org.eclipse.persistence.internal.jpa.QueryImpl.throwNonUniqueResultException(QueryImpl.java:991) at org.eclipse.persistence.internal.jpa.QueryImpl.getSingleResult(QueryImpl.java:538) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:404) at org.apache.ranger.db.XXAccessTypeDefDao.findByNameAndServiceId(XXAccessTypeDefDao.java:59) at org.apache.ranger.biz.PolicyRefUpdater.createNewPolMappingForRefTable(PolicyRefUpdater.java:279) at org.apache.ranger.biz.ServiceDBStore.createPolicy(ServiceDBStore.java:2293) at org.apache.ranger.biz.ServiceDBStore.createDefaultPolicy(ServiceDBStore.java:1416) at org.apache.ranger.biz.ServiceDBStore.createZoneDefaultPolicies(ServiceDBStore.java:2438) at org.apache.ranger.service.RangerSecurityZoneServiceService.postCreate(RangerSecurityZoneServiceService.java:99) at org.apache.ranger.service.RangerSecurityZoneServiceService.postCreate(RangerSecurityZoneServiceService.java:53) at org.apache.ranger.service.RangerBaseModelService.create(RangerBaseModelService.java:138) at org.apache.ranger.biz.SecurityZoneDBStore.createSecurityZone(SecurityZoneDBStore.java:99) at org.apache.ranger.rest.SecurityZoneREST.createSecurityZone(SecurityZoneREST.java:147) at org.apache.ranger.rest.SecurityZoneREST$$FastClassBySpringCGLIB$$797df817.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) {code}
> Security Zone creation fails with tag service due to NonUniqueResultException
> -----------------------------------------------------------------------------
>
> Key: RANGER-5526
> URL: https://issues.apache.org/jira/browse/RANGER-5526
> Project: Ranger
> Issue Type: Bug
> Components: Ranger
> Reporter: Rakesh Gupta
> Assignee: Rakesh Gupta
> Priority: Major
>
> While creating a Security Zone with a tag service, the operation fails during postCreate execution. The stack trace shows a NonUniqueResultException from XXAccessTypeDefDao.findByNameAndServiceId(), triggered during default policy creation.
> This issue is caused by duplicate entries in the access type definition tables for the associated service.
> For example, the following query returns 2 records:
> select * from x_access_type_def where name = 'ozone:assume_role';
>
> {code:java}
> ERROR [RangerSecurityZoneServiceService.java:102] postCreate processing failed for security-zone:[{name=zone_1, services={dev_hive={resources=[{resource={resource-def-name=database, values=[t]} {resource-def-name=column, values=[*]} {resource-def-name=table, values=[*]} } {baseInfo={id=1, createdBy=admin, createTime=Thu Mar 19 11:26:49 UTC 2026, updatedBy=admin, updateTime=Thu Mar 19 11:26:49 UTC 2026}} ]}}, tagServices=[dev_tag], adminUsers=[admin], adminUserGroups=[testgroup], adminRoles=[], auditUsers=[admin], auditUserGroups=[testgroup], auditRoles=[], description=}]javax.persistence.NonUniqueResultException: More than one result was returned from Query.getSingleResult() at org.eclipse.persistence.internal.jpa.QueryImpl.throwNonUniqueResultException(QueryImpl.java:991) at org.eclipse.persistence.internal.jpa.QueryImpl.getSingleResult(QueryImpl.java:538) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:404) at org.apache.ranger.db.XXAccessTypeDefDao.findByNameAndServiceId(XXAccessTypeDefDao.java:59) at org.apache.ranger.biz.PolicyRefUpdater.createNewPolMappingForRefTable(PolicyRefUpdater.java:279) at org.apache.ranger.biz.ServiceDBStore.createPolicy(ServiceDBStore.java:2293) at org.apache.ranger.biz.ServiceDBStore.createDefaultPolicy(ServiceDBStore.java:1416) at org.apache.ranger.biz.ServiceDBStore.createZoneDefaultPolicies(ServiceDBStore.java:2438) at org.apache.ranger.service.RangerSecurityZoneServiceService.postCreate(RangerSecurityZoneServiceService.java:99) at org.apache.ranger.service.RangerSecurityZoneServiceService.postCreate(RangerSecurityZoneServiceService.java:53) at org.apache.ranger.service.RangerBaseModelService.create(RangerBaseModelService.java:138) at org.apache.ranger.biz.SecurityZoneDBStore.createSecurityZone(SecurityZoneDBStore.java:99) at org.apache.ranger.rest.SecurityZoneREST.createSecurityZone(SecurityZoneREST.java:147) at org.apache.ranger.rest.SecurityZoneREST$$FastClassBySpringCGLIB$$797df817.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)