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

provisioning membership foreign key blank gives issues

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Minor
    • 2.6.10
    • None
    • None
    • None

    Description

      Reply…

       

       

       

      Also send to incommon-grouper-core

      incommon-grouper
      Justin Robinson and you

      Justin Robinson
        18 days ago
      Running 2.6.9 provisioner for Duo, I was able to get it setup and running smoothly - wonderful! Ran into a small difficulty which I am not sure how to handle. The membership in Grouper contains users that have not yet setup accounts in Duo. We are not letting Grouper handle entity updates at this time. The membership fails though and halts the incremental. Thoughts on how to adjust it to ignore if not in target? (edited) 

       

       

       

      Justin Robinson
        18 days ago
      Mship(group: "Affiliates", entity: "<omitted>", groupId: "<omitted>", entityId: "", matchingId: MultiKey[<omitted>, ], attr[id]: <null>, recalc: true)
      null
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningMatchingIdIndex.indexMatchingIdMemberships(GrouperProvisioningMatchingIdIndex.java:143)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningLogic.provisionIncremental(GrouperProvisioningLogic.java:986)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningType$3.provision(GrouperProvisioningType.java:100)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningLogic.provision(GrouperProvisioningLogic.java:69)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioner.provision(GrouperProvisioner.java:703)
          at edu.internet2.middleware.grouper.app.provisioning.ProvisioningConsumer.dispatchEventList(ProvisioningConsumer.java:91)
          at edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer.processChangeLogEntries(EsbConsumer.java:503)
          at edu.internet2.middleware.grouper.changeLog.ChangeLogHelper.processRecords(ChangeLogHelper.java:261)
          at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType$6.runJob(GrouperLoaderType.java:674)
          at edu.internet2.middleware.grouper.app.loader.GrouperLoaderJob.runJob(GrouperLoaderJob.java:541)
          at edu.internet2.middleware.grouper.app.loader.GrouperLoaderJob.execute(GrouperLoaderJob.java:345)
          at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
          at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
      , finalLog: true, queryCount: 19, tookMillis: 1906, took: 0:00:01.906
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioner.provisionFinallyBlock(GrouperProvisioner.java:798)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioner.provision(GrouperProvisioner.java:732)
          at edu.internet2.middleware.grouper.app.provisioning.ProvisioningConsumer.dispatchEventList(ProvisioningConsumer.java:91)
          at edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer.processChangeLogEntries(EsbConsumer.java:503)
          at edu.internet2.middleware.grouper.changeLog.ChangeLogHelper.processRecords(ChangeLogHelper.java:261)
          at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType$6.runJob(GrouperLoaderType.java:674)
          at edu.internet2.middleware.grouper.app.loader.GrouperLoaderJob.run

      Chris Hyzer
        16 days ago
      can you send your provisioner config?  and the debug object logs for the full run that fails (including full stack)
      New

      Justin Robinson
        6 days ago
      @mchyzer
       - I think the relevant log is this:
      java.lang.RuntimeException: Why do multiple memberships have the same matching id???
      Mship(group: “Affiliates”, entity: “user1", groupId: “groupid1”, entityId: “”, matchingId: MultiKey[groupid1, ], attr[id]: <null>, recalc: true, delete: true)
      null
      Mship(group: “Affiliates”, entity: “user2", groupId: “groupid1”, entityId: “”, matchingId: MultiKey[groupid1, ], attr[id]: <null>, recalc: true, delete: true)
      since the entity didn’t exist - the multikey is the same with entity id nothing
      config
      provisioner.duoUsers.class = edu.internet2.middleware.grouper.app.duo.GrouperDuoProvisioner
      provisioner.duoUsers.createGroupDuringDiagnostics = true
      provisioner.duoUsers.customizeGroupCrud = true
      provisioner.duoUsers.duoExternalSystemConfigId = duo
      provisioner.duoUsers.entityAttributeValueCache2entityAttribute = id
      provisioner.duoUsers.entityAttributeValueCache2has = true
      provisioner.duoUsers.entityAttributeValueCache2source = target
      provisioner.duoUsers.entityAttributeValueCache2type = entityAttribute
      provisioner.duoUsers.entityAttributeValueCacheHas = true
      provisioner.duoUsers.entityMatchingAttribute0name = loginId
      provisioner.duoUsers.entityMatchingAttributeCount = 1
      provisioner.duoUsers.failsafeMinGroupSize = 100
      provisioner.duoUsers.failsafeMinManagedGroups = 5
      provisioner.duoUsers.failsafeUse = true
      provisioner.duoUsers.groupAttributeValueCache2groupAttribute = id
      provisioner.duoUsers.groupAttributeValueCache2has = true
      provisioner.duoUsers.groupAttributeValueCache2source = target
      provisioner.duoUsers.groupAttributeValueCache2type = groupAttribute
      provisioner.duoUsers.groupAttributeValueCacheHas = true
      provisioner.duoUsers.groupMatchingAttribute0name = name
      provisioner.duoUsers.groupMatchingAttributeCount = 1
      provisioner.duoUsers.hasTargetEntityLink = true
      provisioner.duoUsers.hasTargetGroupLink = true
      provisioner.duoUsers.loadEntitiesToGrouperTable = true
      provisioner.duoUsers.numberOfEntityAttributes = 2
      provisioner.duoUsers.numberOfGroupAttributes = 3
      provisioner.duoUsers.operateOnGrouperEntities = true
      provisioner.duoUsers.operateOnGrouperGroups = true
      provisioner.duoUsers.operateOnGrouperMemberships = true
      provisioner.duoUsers.provisioningType = membershipObjects
      provisioner.duoUsers.selectAllEntities = true
      provisioner.duoUsers.showFailsafe = true
      provisioner.duoUsers.showProvisioningDiagnostics = true
      provisioner.duoUsers.startWith = this is start with read only
      provisioner.duoUsers.subjectSourcesToProvision = ldap
      provisioner.duoUsers.targetEntityAttribute.0.name = id
      provisioner.duoUsers.targetEntityAttribute.0.select = true
      provisioner.duoUsers.targetEntityAttribute.0.showAdvancedAttribute = true
      provisioner.duoUsers.targetEntityAttribute.0.showAttributeCrud = true
      provisioner.duoUsers.targetEntityAttribute.1.name = loginId
      provisioner.duoUsers.targetEntityAttribute.1.showAdvancedAttribute = true
      provisioner.duoUsers.targetEntityAttribute.1.translateExpressionType = grouperProvisioningEntityField
      provisioner.duoUsers.targetEntityAttribute.1.translateFromGrouperProvisioningEntityField = subjectId
      provisioner.duoUsers.targetGroupAttribute.0.insert = false
      provisioner.duoUsers.targetGroupAttribute.0.name = id
      provisioner.duoUsers.targetGroupAttribute.0.showAdvancedAttribute = true
      provisioner.duoUsers.targetGroupAttribute.0.showAttributeCrud = true
      provisioner.duoUsers.targetGroupAttribute.0.update = false
      provisioner.duoUsers.targetGroupAttribute.1.name = name
      provisioner.duoUsers.targetGroupAttribute.1.translateExpressionType = grouperProvisioningGroupField
      provisioner.duoUsers.targetGroupAttribute.1.translateFromGrouperProvisioningGroupField = displayExtension
      provisioner.duoUsers.targetGroupAttribute.2.name = description
      provisioner.duoUsers.targetGroupAttribute.2.translateExpressionType = grouperProvisioningGroupField
      provisioner.duoUsers.targetGroupAttribute.2.translateFromGrouperProvisioningGroupField = description

      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: