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

new loader attributes not being created

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Minor
    • None
    • 2.5.52
    • None
    • None

    Description

      And also this error due to which loader jobs are failingAnd also this error due to which loader jobs are failingedu.internet2.middleware.grouper.exception.AttributeNotFoundException: Cant find attribute: grouperLoaderDisplayNameSyncType at edu.internet2.middleware.grouper.Group.getAttributeValue(Group.java:2899) at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType.attributeValueOrDefaultOrNull(GrouperLoaderType.java:2496) at edu.internet2.middleware.grouper.app.loader.GrouperLoaderJob.runJob(GrouperLoaderJob.java:443) at edu.internet2.middleware.grouper.app.loader.GrouperLoaderJob.execute(GrouperLoaderJob.java:344) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)37 replies
      Chris Hyzer  4 hours agoI believe this is mentioned in the release notes for 2.5.53 and fixed in 2.5.54, can you please confirm?
      Paul Rubenis  4 hours agoWe have upgraded to 2.5.54 and still see this error.
      Chris Hyzer  3 hours agodo you see this attribute?image.png image.png

      Sudheer Singidi  3 hours agoNo. We are not seeing it
      Paul Rubenis  3 hours agoSo in our prod, 2.5.52, that attr does not exist either.
      Paul Rubenis  3 hours agoBut those loader jobs do succeed.
      Sudheer Singidi  3 hours ago@mchyzer IN 2019, We had similar issues where attributes were not created by default. SO you gave me few GSH commands to run..edu.internet2.middleware.grouper.misc.GrouperStartup.startup()If that doesnt work, try:edu.internet2.middleware.grouper.misc.GrouperStartup.initLoaderType()
      Sudheer Singidi  3 hours agoI ran these now, and I see that attribute now
      Paul Rubenis  3 hours agoa number of new types were created it seems
      Sudheer Singidi  3 hours agoyup
      Sudheer Singidi  3 hours agoand things are looking good so far…verifying couple of other things
      Chris Hyzer  3 hours agodo you have a full stack of was that the full stack?
      Sudheer Singidi  3 hours agothat was the full stack if you are referring to the code block above
      Sudheer Singidi  3 hours agoThis didn’t do anything:edu.internet2.middleware.grouper.misc.GrouperStartup.startup()
      Sudheer Singidi  3 hours agoThis command seems to be creating those attributes. but the output was not helpful to understand whether it did something or notedu.internet2.middleware.grouper.misc.GrouperStartup.initLoaderType()
      Sudheer Singidi  3 hours agoOutput:groovy:000> :load '/swadm/grouper-2.5.54/grouper.api/WEB-INF/classes/groovysh.profile'groovy:000> edu.internet2.middleware.grouper.misc.GrouperStartup.startup()===> falsegroovy:000> edu.internet2.middleware.grouper.misc.GrouperStartup.initLoaderType()===> null
      Sudheer Singidi  2 hours agoHow can we make sure that any new attributes in the future gets created by default ?
      Sudheer Singidi  2 hours agoWe have this property set to true:loader.autoadd.typesAttributes
      Chris Hyzer  2 hours agowhat do you have this set to in grouper.properties?legacyAttribute.attributeDef.prefix(edited)
      Chris Hyzer  2 hours agoimage.png image.png

      Sudheer Singidi  2 hours agoIt is set to :legacyAttribute.attributeDef.prefix=legacyAttributeDef_
      Sudheer Singidi  2 hours agoin grouper.base.properties
      Chris Hyzer  2 hours agoand its not in the database override right?
      Sudheer Singidi  2 hours agoI don’t think so
      Chris Hyzer  2 hours agocan you show me this screenshot?image.png image.png

      Chris Hyzer  2 hours agoalso show me this screenshot (search for grouperLoaderGroupQuery and shoe results)image.png image.png

      Sudheer Singidi  2 hours agoimage.png image.png

      Sudheer Singidi  2 hours agoimage.png image.png

      Chris Hyzer  1 hour agocan you run this script in GSH and let me know the value at each line?import edu.internet2.middleware.grouper.cfg.GrouperConfig;String attributeDefPrefix = GrouperConfig.retrieveConfig().propertyValueStringRequired("legacyAttribute.attributeDef.prefix");AttributeDefName legacyAttribute = GrouperDAOFactory.getFactory().getAttributeDefName().findLegacyAttributeByName("grouperLoaderGroupQuery", false);legacyAttribute = GrouperDAOFactory.getFactory().getAttributeDefName().findLegacyAttributeByName("grouperLoaderDisplayNameSyncType", false);Group adminGroup = GroupFinder.findByName(GrouperConfig.retrieveConfig().propertyValueString("groups.wheel.group"), true);adminGroup.getAttributeValue("grouperLoaderDisplayNameSyncType", false, false);Please also verify grouper version on GSH startupGrouper starting up: version: 2.5.54, build date: 2021/07/27 17:42:20 +0000, env: TESTHere is a sample outputgroovy:000> String attributeDefPrefix = GrouperConfig.retrieveConfig().propertyValueStringRequired("legacyAttribute.attributeDef.prefix");===> legacyAttributeDef_groovy:000> AttributeDefName legacyAttribute = GrouperDAOFactory.getFactory().getAttributeDefName().findLegacyAttributeByName("grouperLoaderGroupQuery", false);===> AttributeDefName[name=penn:etc:legacy:attribute:legacyAttribute_grouperLoaderGroupQuery,uuid=657e5d343f024a359b81f3a239f7ca0c]groovy:000> legacyAttribute = GrouperDAOFactory.getFactory().getAttributeDefName().findLegacyAttributeByName("grouperLoaderDisplayNameSyncType", false);===> AttributeDefName[name=penn:etc:legacy:attribute:legacyAttribute_grouperLoaderDisplayNameSyncType,uuid=1ff029f40ced467281ff9444cd68c211]groovy:000> Group adminGroup = GroupFinder.findByName(GrouperConfig.retrieveConfig().propertyValueString("groups.wheel.group"), true);===> Group[name=penn:etc:sysAdminGroup,uuid=02c9399a-04e2-48f5-862a-6f5f6b34dc45]groovy:000> adminGroup.getAttributeValue("grouperLoaderDisplayNameSyncType", false, false);ERROR edu.internet2.middleware.grouper.exception.AttributeNotFoundException:Group penn:etc:sysAdminGroup doesn't have attribute: grouperLoaderDisplayNameSyncType        at edu.internet2.middleware.grouper.Group.getAttributeValue (Group.java:2907)        at edu.internet2.middleware.grouper.Group$getAttributeValue.call (Unknown Source)
      Sudheer Singidi  1 hour agoSure. Here’s the output:groovy:000> :load '/swadm/grouper-2.5.54/grouper.api/WEB-INF/classes/groovysh.profile'groovy:000> import edu.internet2.middleware.grouper.cfg.GrouperConfig;===> org.codehaus.groovy.tools.shell.CommandSupport, org.codehaus.groovy.tools.shell.Groovysh, edu.internet2.middleware.grouper., edu.internet2.middleware.grouper.app.gsh., edu.internet2.middleware.grouper.privs., edu.internet2.middleware.grouper.misc., edu.internet2.middleware.grouper.app.loader.ldap., edu.internet2.middleware.grouper.attr., edu.internet2.middleware.grouper.attr.assign., edu.internet2.middleware.grouper.attr.finder., edu.internet2.middleware.grouper.attr.value., edu.internet2.middleware.grouper.audit., edu.internet2.middleware.grouper.client., edu.internet2.middleware.grouper.entity., edu.internet2.middleware.grouper.externalSubjects., edu.internet2.middleware.grouper.group., edu.internet2.middleware.grouper.ldap., edu.internet2.middleware.grouper.app.loader., edu.internet2.middleware.grouper.xml., edu.internet2.middleware.grouper.registry., edu.internet2.middleware.grouper.app.usdu., edu.internet2.middleware.grouper.app.misc., edu.internet2.middleware.grouper.rules., edu.internet2.middleware.grouper.hibernate., edu.internet2.middleware.grouper.permissions., edu.internet2.middleware.grouper.util., edu.internet2.middleware.grouper.xml.export., edu.internet2.middleware.subject., edu.internet2.middleware.subject.provider., edu.internet2.middleware.grouper.userData., edu.internet2.middleware.grouper.messaging., edu.internet2.middleware.grouper.filter., edu.internet2.middleware.grouper.authentication., edu.internet2.middleware.grouper.j2ee., edu.internet2.middleware.grouper.cfg.GrouperConfiggroovy:000> String attributeDefPrefix = GrouperConfig.retrieveConfig().propertyValueStringRequired("legacyAttribute.attributeDef.prefix");===> legacyAttributeDef_groovy:000> AttributeDefName legacyAttribute = GrouperDAOFactory.getFactory().getAttributeDefName().findLegacyAttributeByName("grouperLoaderGroupQuery", false);===> AttributeDefName[name=etc:legacy:attribute:legacyAttribute_grouperLoaderGroupQuery,uuid=e47d658db07340da97341e464647bdd6]groovy:000> legacyAttribute = GrouperDAOFactory.getFactory().getAttributeDefName().findLegacyAttributeByName("grouperLoaderDisplayNameSyncType", false);===> AttributeDefName[name=etc:legacy:attribute:legacyAttribute_grouperLoaderDisplayNameSyncType,uuid=0ae3a1ac6f6943b5b69c2a37ab92aa06]groovy:000> Group adminGroup = GroupFinder.findByName(GrouperConfig.retrieveConfig().propertyValueString("groups.wheel.group"), true);===> Group[name=etc:grouperadmins,uuid=ef9629bdb46045bb9c790d2cfbb29cff]groovy:000> adminGroup.getAttributeValue("grouperLoaderDisplayNameSyncType", false, false);ERROR edu.internet2.middleware.grouper.exception.AttributeNotFoundException:Group etc:grouperadmins doesn't have attribute: grouperLoaderDisplayNameSyncType        at edu.internet2.middleware.grouper.Group.getAttributeValue (Group.java:2907)        at edu.internet2.middleware.grouper.Group$getAttributeValue.call (Unknown Source)groovy:000>
      Sudheer Singidi  1 hour agoand we confirmed that the version is 2.5.54
      Chris Hyzer  20 minutes agocan you bounce your UI then?  I dont know why its finding the attribute now, but wasnt in your other stack?
      Paul Rubenis  14 minutes agoWe ran the command :edu.internet2.middleware.grouper.misc.GrouperStartup.initLoaderType()and it created the legacy attributes that were missing (edited) 
      Paul Rubenis  13 minutes agoThe two issues in both dev/tst that we reported went away after running that cmd
      Paul Rubenis  11 minutes agolegacyAttribute_grouperLoaderDisplayNameSyncBaseFolderName legacyAttribute_grouperLoaderDisplayNameSyncLevels legacyAttribute_grouperLoaderDisplayNameSyncType
      Paul Rubenis  11 minutes agoThose were created
      Paul Rubenis  8 minutes agoIn dev/tst we have 17 legacy attrs, in prd (2.5.52) we have 14@Shilen Patel there is no hard in running this right?  how should we handle this?  run that method more aggressively in startup?  or have an upgrade task for it?

      edu.internet2.middleware.grouper.misc.GrouperStartup.initLoaderType()I dont know why penn and the demo server and our dev env didnt need this, something about the state of the conversion tables...  anyways, I added an upgrade step

       

       

       

       

       

       

      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: