provisioner with canRetrieveAllData query returns duplicate entities from other provisioners

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Minor
    • 4.17.5, 5.16.0
    • Affects Version/s: 2.6.6
    • Component/s: provisioning
    • None

      GrouperProvisioningGrouperDao.retrieveMembers()

            sqlInitial = new StringBuilder("select " + 
                "    gm.id, " +
                "    gm.subject_source, " + 
                "    gm.subject_id, " + 
                "    gm.subject_identifier0, " + 
                "    gm.name, " + 
                "    gm.description, " + 
                "    gsm.metadata_json, " +
                "    gm.email0, " +
                "    gm.subject_identifier1, " +
                "    gm.subject_identifier2, " +
                "    gm.id_index, " +
                "    gm.subject_resolution_resolvable " +
                "from " + 
                "    grouper_members gm " +
                "    left join grouper_sync_member gsm on  gsm.member_id = gm.id " + 
                "where " +
                "    gm.subject_resolution_deleted='F' " + 
                "    and exists ( select 1 from grouper_memberships ms join grouper_group_set gs on ms.owner_id = gs.member_id " +
                "    join grouper_sync_group gsg on gs.owner_group_id = gsg.group_id " +
                "    where ms.member_id = gm.id and  gsg.grouper_sync_id = ? " +
                "    and ms.field_id = gs.member_field_id " +
                "    and gsg.provisionable = 'T' " +
                "    and ms.enabled='T' ");
      

      This returns entities who are in sync_members for any provisioner, as long as they are provisionable in the target provisioner. Thus it returns multiple records if they are provisioned in another provisioner, and the comparison sees that as needing to insert the duplicates

            Assignee:
            Chris Hyzer (upenn.edu)
            Reporter:
            Chad Redman
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: