You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sentry.apache.org by "Sravya Tirukkovalur (JIRA)" <ji...@apache.org> on 2014/06/04 01:44:01 UTC

[jira] [Created] (SENTRY-254) Privilege name in provider db has a limit of length 128 which might be very low for long uris.

Sravya Tirukkovalur created SENTRY-254:
------------------------------------------

             Summary: Privilege name in provider db has a limit of length 128 which might be very low for long uris.
                 Key: SENTRY-254
                 URL: https://issues.apache.org/jira/browse/SENTRY-254
             Project: Sentry
          Issue Type: Bug
    Affects Versions: 1.4.0
            Reporter: Sravya Tirukkovalur
             Fix For: 1.4.0


Error thrown if the constructed privilege string is longer:
{noformat}
org.datanucleus.exceptions.NucleusUserException: Attempt to store value "server1+file:///users/sravya/.m2/repository/org/apache/hive/hive-exec/0.12.0-cdh5.1.0-snapshot/hive-exec-0.12.0-cdh5.1.0-20140602.222830-83.jar" in column "PRIVILEGE_NAME" that has maximum length of 128. Please correct your data!
	at org.datanucleus.store.rdbms.mapping.datastore.CharRDBMSMapping.setString(CharRDBMSMapping.java:273)
	at org.datanucleus.store.rdbms.mapping.java.SingleFieldMapping.setString(SingleFieldMapping.java:201)
	at org.datanucleus.store.rdbms.fieldmanager.ParameterSetter.storeStringField(ParameterSetter.java:159)
	at org.datanucleus.state.JDOStateManager.providedStringField(JDOStateManager.java:1259)
	at org.apache.sentry.provider.db.service.model.MSentryPrivilege.jdoProvideField(MSentryPrivilege.java)
	at org.apache.sentry.provider.db.service.model.MSentryPrivilege.jdoProvideFields(MSentryPrivilege.java)
	at org.datanucleus.state.JDOStateManager.provideFields(JDOStateManager.java:1349)
	at org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:289)
	at org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167)
	at org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143)
	at org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3777)
	at org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3753)
	at org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2124)
	at org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2218)
	at org.datanucleus.store.types.SCOUtils.validateObjectForWriting(SCOUtils.java:1524)
	at org.datanucleus.store.rdbms.scostore.ElementContainerStore.validateElementForWriting(ElementContainerStore.java:389)
	at org.datanucleus.store.rdbms.scostore.JoinSetStore.add(JoinSetStore.java:281)
	at org.datanucleus.store.types.backed.Set.add(Set.java:625)
	at org.apache.sentry.provider.db.service.model.MSentryRole.appendPrivilege(MSentryRole.java:103)
	at org.apache.sentry.provider.db.service.model.MSentryPrivilege.appendRole(MSentryPrivilege.java:139)
	at org.apache.sentry.provider.db.service.persistent.SentryStore.alterSentryRoleGrantPrivilege(SentryStore.java:281)
	at org.apache.sentry.provider.db.service.thrift.SentryPolicyStoreProcessor.alter_sentry_role_grant_privilege(SentryPolicyStoreProcessor.java:171)
	at org.apache.sentry.provider.db.service.thrift.SentryPolicyService$Processor$alter_sentry_role_grant_privilege.getResult(SentryPolicyService.java:693)
	at org.apache.sentry.provider.db.service.thrift.SentryPolicyService$Processor$alter_sentry_role_grant_privilege.getResult(SentryPolicyService.java:678)
{noformat}

Reproducible by TestDbPrivilegesAtFunctionScope.testFuncPrivileges1



--
This message was sent by Atlassian JIRA
(v6.2#6252)