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

null pointer in GrouperProvisioningCompare.compareTargetEntities

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • 2.6.18, 2.6.19
    • None
    • None

    Description

      Set up and ran a full sync job in 2.6.18 and 2.6.19, was successful the first few days, but then errors started showing up.

      For a delete of an entity attribute value, provisioningAttribute.getValueToProvisioningMembershipWrapper() is null. I don't see an explanation for why that happens. I added some extra debugging lines to a patched class to capture the error for better diagnostics. There were 29 errors out of 2518 total users provisioned. What was in common with all these users was that none of them were in provisioned groups. All except 2 did not even have the ldap attribute in LDAP, so it should not have tried to change anything.

      What made the error go away is to assign all 29 users to a provisioned group, run an incremental sync, and then remove them and sync again. Since then there haven't been more errors.

      grouper-daemon;grouper_error.log;2023-03-06T11:51:28,470: [DefaultQuartzScheduler_Worker-3] ERROR GrouperLogger.error(77) - [] - Error occurred while running job: OTHER_JOB_provisioner_full_utorable_ldap_user
      java.lang.RuntimeException: provisionerClass: LdapSync, configId: utorable_ldap_user, provisioningType: fullProvisionFull, state: compareTargetObjects, retrieveSyncGroupsMillis: 498, syncGroupCount: 29621, retrieveSyncEntitiesMillis: 3487, syncEntityCount: 162895, retrieveSyncMshipsMillis: 13129, syncMshipCount: 965936, propagateProvisioningAttributes_millis: 21674, targetRetrieveAllGroups: 1, retrieveGrouperGroupsMillis: 2224, grouperGroupCount: 29597, retrieveGrouperEntitiesMillis: 8964, grouperEntityCount: 322174, retrieveGrouperMshipsMillis: 42636, grouperMshipCount: 1590921, provisioningGroupsToDeleteCount: 24, provisioningEntitiesToDelete: 1808, provisioningMshipsToDelete: 14294, retrieveDataPass1_millis: 72548, grouperGroupsRetrieved: 29597, grouperEntitiesRetrieved: 322174, grouperMembershipsRetrieved: 1590921, assignDefaultFieldsAndAttributesCount: 163220, originalTargetGroupCount: 29632, originalTargetEntityCount: 162861, originalTargetMembershipCount: 932803, originalTargetTotalCount: 1125296, targetGroupsRetrieved: 29632, targetEntitiesRetrieved: 162861, targetMembershipsRetrieved: 0, retrieveTargetDataMillis: 46279, provisioningGroupWrappersWithMatch: 59195, provisioningGroupWrappersWithNoMatch: 93, provisioningEntityWrappersWithMatch: 325722, missingGroupsForRetrieve: 7, missingGroupsForRetrieveFound: 1, missingEntitiesForRetrieve: 10, missingEntitiesForRetrieveFound: 0, loadDataToGrouper_millis: 0, provisioningEntityWrappersWithNoMatch: 34, linkGcSyncEntitiesUpdated: 100, targetEntitiesForLinkNull: 34, provisioningMembershipWrappersWithNoMatch: 965936, processResultsSelectMembershipsFullCantUnresolveMemberships: true, exception: java.lang.NullPointerException
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningCompare.compareTargetEntities(GrouperProvisioningCompare.java:1053)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningCompare.compareTargetObjects(GrouperProvisioningCompare.java:1740)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningLogic.provisionFull(GrouperProvisioningLogic.java:273)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningType$1.provision(GrouperProvisioningType.java:41)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningLogic.provision(GrouperProvisioningLogic.java:77)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioner.provision(GrouperProvisioner.java:797)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob.runFullSync(GrouperProvisioningFullSyncJob.java:56)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob$1.callback(GrouperProvisioningFullSyncJob.java:30)
          at edu.internet2.middleware.grouper.GrouperSession.callbackGrouperSession(GrouperSession.java:1000)
          at edu.internet2.middleware.grouper.GrouperSession.internal_callbackRootGrouperSession(GrouperSession.java:1069)
          at edu.internet2.middleware.grouper.GrouperSession.internal_callbackRootGrouperSession(GrouperSession.java:1036)
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob.run(GrouperProvisioningFullSyncJob.java:19)
          at edu.internet2.middleware.grouper.app.loader.OtherJobBase$2.callback(OtherJobBase.java:439)
          at edu.internet2.middleware.grouper.GrouperSession.callbackGrouperSession(GrouperSession.java:1000)
          at edu.internet2.middleware.grouper.GrouperSession.internal_callbackRootGrouperSession(GrouperSession.java:1069)
          at edu.internet2.middleware.grouper.GrouperSession.internal_callbackRootGrouperSession(GrouperSession.java:1036)
          at edu.internet2.middleware.grouper.app.loader.OtherJobBase.execute(OtherJobBase.java:392)
          at edu.internet2.middleware.grouper.app.loader.OtherJobBase.execute(OtherJobBase.java:376)
          at edu.internet2.middleware.grouper.app.loader.GrouperDaemonJob.execute(GrouperDaemonJob.java:57)
          at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
          at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
      , finalLog: true, queryCount: 14, tookMillis: 163445, took: 00:02:43.445
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioner.provisionFinallyBlock(GrouperProvisioner.java:910) ~[grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioner.provision(GrouperProvisioner.java:829) ~[grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob.runFullSync(GrouperProvisioningFullSyncJob.java:56) ~[grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob$1.callback(GrouperProvisioningFullSyncJob.java:30) ~[grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grouper.GrouperSession.callbackGrouperSession(GrouperSession.java:1000) ~[grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grouper.GrouperSession.internal_callbackRootGrouperSession(GrouperSession.java:1069) ~[grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grou
          at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob.run(GrouperProvisioningFullSyncJob.java:19) ~[grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grouper.app.loader.OtherJobBase$2.callback(OtherJobBase.java:439) [grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grouper.GrouperSession.callbackGrouperSession(GrouperSession.java:1000) [grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grouper.GrouperSession.internal_callbackRootGrouperSession(GrouperSession.java:1069) [grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grouper.GrouperSession.internal_callbackRootGrouperSession(GrouperSession.java:1036) [grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grouper.app.loader.OtherJobBase.execute(OtherJobBase.java:392) [grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grouper.app.loader.OtherJobBase.execute(OtherJobBase.java:376) [grouper-2.6.19.jar:2.6.19]
          at edu.internet2.middleware.grouper.app.loader.GrouperDaemonJob.execute(GrouperDaemonJob.java:57) [grouper-2.6.19.jar:2.6.19]
          at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.2.jar:?]
          at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.2.jar:?]
      

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated: