Uploaded image for project: 'Grouper'
  1. Grouper
  2. GRP-1246

grouper rules privilege inheritance from stem error

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • 2.2.2.patch, 2.2.3, 2.3.0
    • None
    • API
    • None

    Description

      ----Original Message----
      From: grouper-users-request grouper-users-request On Behalf Of Scott Koranda
      Sent: Wednesday, February 03, 2016 3:54 PM
      To: grouper-users <grouper-users>
      Subject: [grouper-users] error running rules on a stem

      Hi,

      I am using Grouper 2.2.1.

      Using GSH when I execute

      grouperSession = GrouperSession.startRootSession();
      mystem = StemFinder.findByName(grouperSession, "mystem");
      RuleApi.runRulesForOwner(mystem);

      (the rule has been previously attached to the stem)

      I receive the following stack trace:

      2016-02-02 16:12:49,768: [main] ERROR ErrorCounter.reportError(56) - - line 1:80: unexpected token: and
      2016-02-02 16:12:49,771: [main] ERROR ShellHelper.eval(91) - - Sourced file: inline evaluation of: ``RuleApi.runRulesForOwner(testFolder01);'' : Method Invocation RuleApi.runRulesForOwner
      edu.internet2.middleware.grouper.internal.dao.GrouperDAOException: Problem in HibernateSession: HibernateSession (317bace8): new, readonly, READONLY_NEW, notActiveTransaction, session (2d1e85e8),
      Exception in list: (class edu.internet2.middleware.grouper.Group), ByHqlStatic, query: 'select distinct theGroup from Group
      theGroup and theGroup.nameDb like :stemPattern ', cacheable: false, cacheRegion:
      edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO.FindGroupsInStemWithoutPrivilege, tx type: null, options:
      QueryOptions: querySort: theGroup.displayNameDb asc, , tx type: nullBind var[0]: 'Param (class java.lang.String): 'stemPattern'->'mystem1:%',
      at edu.internet2.middleware.grouper.hibernate.HibernateSession._internal_hibernateSessionCatch(HibernateSession.java:556)
      at edu.internet2.middleware.grouper.hibernate.HibernateSession.callbackHibernateSession(HibernateSession.java:678)
      at edu.internet2.middleware.grouper.hibernate.ByHqlStatic.list(ByHqlStatic.java:372)
      at edu.internet2.middleware.grouper.hibernate.ByHqlStatic.listSet(ByHqlStatic.java:421)
      at edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO.findGroupsInStemWithoutPrivilege(Hib3GroupDAO.java:2404)
      at edu.internet2.middleware.grouper.privs.GrouperPrivilegeAdapter$3.callback(GrouperPrivilegeAdapter.java:279)
      at edu.internet2.middleware.grouper.GrouperSession.callbackGrouperSession(GrouperSession.java:974)
      at edu.internet2.middleware.grouper.privs.GrouperPrivilegeAdapter.internal_getGroupsWhereSubjectDoesntHavePriv(GrouperPrivilegeAdapter.java:274)
      at edu.internet2.middleware.grouper.privs.GrouperNonDbAccessAdapter.getGroupsWhereSubjectDoesntHavePrivilege(GrouperNonDbAccessAdapter.java:198)
      at edu.internet2.middleware.grouper.privs.AccessWrapper.getGroupsWhereSubjectDoesntHavePrivilege(AccessWrapper.java:117)
      at edu.internet2.middleware.grouper.privs.GrouperAllAccessResolver.getGroupsWhereSubjectDoesntHavePrivilege(GrouperAllAccessResolver.java:100)
      at edu.internet2.middleware.grouper.privs.AccessResolverDecorator.getGroupsWhereSubjectDoesntHavePrivilege(AccessResolverDecorator.java:126)
      at edu.internet2.middleware.grouper.privs.AccessResolverDecorator.getGroupsWhereSubjectDoesntHavePrivilege(AccessResolverDecorator.java:126)
      at edu.internet2.middleware.grouper.privs.AccessResolverDecorator.getGroupsWhereSubjectDoesntHavePrivilege(AccessResolverDecorator.java:126)
      at edu.internet2.middleware.grouper.privs.ValidatingAccessResolver.getGroupsWhereSubjectDoesntHavePrivilege(ValidatingAccessResolver.java:94)
      at edu.internet2.middleware.grouper.rules.RuleCheckType$8.runDaemon(RuleCheckType.java:1042)
      at edu.internet2.middleware.grouper.rules.RuleDefinition$1.callback(RuleDefinition.java:333)
      at edu.internet2.middleware.grouper.GrouperSession.callbackGrouperSession(GrouperSession.java:974)
      at edu.internet2.middleware.grouper.rules.RuleDefinition.runDaemonOnDefinitionIfShould(RuleDefinition.java:326)
      at edu.internet2.middleware.grouper.rules.RuleApi.runRulesForOwner(RuleApi.java:749)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:622)
      at bsh.Reflect.invokeMethod(Unknown Source)
      at bsh.Reflect.invokeStaticMethod(Unknown Source)
      at bsh.Name.invokeMethod(Unknown Source)
      at bsh.BSHMethodInvocation.eval(Unknown Source)
      at bsh.BSHPrimaryExpression.eval(Unknown Source)
      at bsh.BSHPrimaryExpression.eval(Unknown Source)
      at bsh.Interpreter.eval(Unknown Source)
      at bsh.Interpreter.eval(Unknown Source)
      at bsh.Interpreter.eval(Unknown Source)
      at edu.internet2.middleware.grouper.app.gsh.ShellHelper.eval(ShellHelper.java:63)
      at edu.internet2.middleware.grouper.app.gsh.GrouperShell.run(GrouperShell.java:429)
      at edu.internet2.middleware.grouper.app.gsh.GrouperShell.grouperShellHelper(GrouperShell.java:232)
      at edu.internet2.middleware.grouper.app.gsh.GrouperShell.main(GrouperShell.java:162)
      at edu.internet2.middleware.grouper.app.gsh.GrouperShellWrapper.main(GrouperShellWrapper.java:31)
      Caused by: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: and near line 1, column 80 [select distinct theGroup from edu.internet2.middleware.grouper.Group theGroup and theGroup.nameDb like :stemPattern order by theGroup.displayNameDb asc]
      at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:54)
      at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:47)
      at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:82)
      at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:284)
      at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:182)
      at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
      at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
      at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
      at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:124)
      at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
      at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
      at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1770)
      at edu.internet2.middleware.grouper.hibernate.ByHql.attachQueryInfo(ByHql.java:481)
      at edu.internet2.middleware.grouper.hibernate.ByHql.list(ByHql.java:347)
      at edu.internet2.middleware.grouper.hibernate.ByHqlStatic$2.callback(ByHqlStatic.java:382)
      at edu.internet2.middleware.grouper.hibernate.HibernateSession.callbackHibernateSession(HibernateSession.java:668)
      ... 36 more

      Any ideas on why I am seeing the stack trace?

      Note that I have a development sandbox running the same
      version of Grouper and I am unable to reproduce this?

      Thanks,

      Scott K

      Attachments

        Activity

          People

            chris.hyzer@at.internet2.edu Chris Hyzer (upenn.edu)
            chris.hyzer@at.internet2.edu Chris Hyzer (upenn.edu)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: