Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] [PSPNG] Renaming a folder trigger a full sync

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] [PSPNG] Renaming a folder trigger a full sync

Chronological Thread 
  • From: "Bee-Lindgren, Bert" <>
  • To: Jeffrey Williams <>, Yoann Delattre <>
  • Cc: "" <>, Grouper-Users <>
  • Subject: Re: [grouper-users] [PSPNG] Renaming a folder trigger a full sync
  • Date: Mon, 10 Sep 2018 19:25:19 +0000
  • Accept-language: en-US
  • Authentication-results: spf=none (sender IP is ) ;
  • Ironport-phdr: 9a23:Zo1jFhNXqHmcygiC4QAl6mtUPXoX/o7sNwtQ0KIMzox0K/zyocbcNUDSrc9gkEXOFd2Cra4c1KyO6+jJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6JvjvGo7Vks+7y/2+94fcbglUhjexe69+IAmrpgjNq8cahpdvJLwswRXTuHtIfOpWxWJsJV2Nmhv3+9m98p1+/SlOovwt78FPX7n0cKQ+VrxYES8pM3sp683xtBnMVhWA630BWWgLiBVIAgzF7BbnXpfttybxq+Rw1DWGMcDwULs5Qiqp4bt1RxD0iScHLz85/3/Risxsl6JQvRatqwViz4LIfI2ZMfxzdb7fc9wHX2pMRsZfWTJcDIOgYYUBDOQBMuRZr4bhqFQDtgGxCRWwCO711jNEmmL60Ksn2OohCwHG2wkgEsoAvHnJstr6Kr4eX+a0zKnO0DrDYOlW1in76ITQbxssvO+DXahsccbf1EIiEBjKgUuKqYz5JT+azfoCvHaC4+pkVOKvjXMoqw5rojexwMchkY7JhoMJylze+iV22po1KsOkR057e9KrDoZftzyDOoZwX8gsTWZouCMgxb0Hv562ZCkKyJI7xxHBcfyHdZaH4g79WOqLPzh3mW9ldKqihxa07UegxffwWdep31ZXqCdOj9rCtmgV2hHc9sSLUOZx8luj1DqV1Q3f9/tILV0qmabGM5It37E9m5QJvUjdAyP7mF/6gLKSe0k+5+Sk9vjrbq3oppCCNIJ4lgTzP6Eul8OjDuk1Ng0DUmeB9uigyLLu+En0TbpWgfAyl6TWqpPXKdkGqaO/HgRbyJws6wylADejyNkYnWcILFZCeB+fl4bkJ1bALOz4APumnlmjkilny+nBPrL6HJrBNH/DkKr9fblm7E5c1Qwzws1F65JMELEBJ+7zVVHtu9zEDx85NAq0z/zgCNVgyoMeXWWPAqiaMK/IrVCI4ecvL/GNZI8Tpjn9N+Ao6vHygXMjhFMRYauk0YEVZXylBPhqPluVbWf0jtcEC2gKvw4+TOLwiF2FVD5ef229ULwm5jEnEo6pFpnMSZ60jLyF3Se7GIBZZm9cCl+SF3flbIKEW/YQaC6ILc9uiCAEWqa9RI8hzx2hqhL1y6d/IurO5iIYrY7j1MRy5+DLmhEy7zt0D9mF026TVWF4h34IRyQo06Blukxw0VOD0aljg/xEDtxf+elFUgY8NZ7A0eN6EdbyVRzdftuXUlqpXMipASxiBu42lv0DbUhnFsTqsRHH2yujBqRdw76FG50w9qPV92X3LMk7xnrbgu1pvl4vRM0HGWCij7Jj7QWbU5/OmkOf0aqnca0AwDTA3G6IiG6PuEVVFgBqB/brR3caMwH8oNm8wkLEQ7C0BLJjeiFM09LIYv9AZ8f1y19LSbLnOdLSbHi8nU+3BArOybqQYYHqPWgRwXOOWwA/jwkP8CPeZkAFDSC7rjebVWQ2Twi9al7w8eR4tHKwR1M1yAfPdUB6yr6p4UFI1+eERaYV2bQJ8Gc6pjN4EUz1/uqeCsHI5m8DNL5Zfct75V5G0WzDsAkoNJG6M+Zoi1NbdwVxs0z02hNfDYRc18cjsH4hzEx/Jb/LmF4=
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99

Presently, PSPNG #21 does a synchronous[1], high-priority full-sync of a group that has had changed attributes/name/etc. Therefore, editing a group's name would do an independent full-sync of that group in each of the provisioning targets the group was selected for.

[1]-Synchronous means that incremental changes wait for that full-sync to occur so that the relevant Changelog event can be Done'd/Error'ed accurately.

There are two ways that I think PSPNG could be optimized:
a) Start the full-sync in the background and 'done' the Changelog row, or [Easy]
b) Create a specialized group-update sync that doesn't need to read all the memberships from the Grouper DB nor the Target system  [Harder, see below]

As background, there are (at least) 5 theoretical types of provisioning invocations that could be written:
1- Incremental changes thrown quickly at the provisioning target, now with decent error recovery if they change happens to already be there
2- Full-Sync of a group's membership attribute(s)
3- Provisioning of a group's non-membership attributes
4- Full-sync following an incremental error or on request (messaging)
5- Fixing a Subject's membership in a Group

The desire for provisioners to be fast but also easy to write has led PSPNG to implement two flows: (1) [The fast flow] and (2-5) [The complete-correction flow]. Creating a third provisioning flow for GroupUpdates (3) will add a noticeable amount of complexity to each Provisioner's implementation. Also, there's a possibility that a renamed group might be hard to find by subsequent incremental changes to that group.


Are you seeing the changelog queues fall behind with slow GroupUpdates of big groups?

If so, would you like to the Changelog events be forwarded to a Best-Effort, Asynchronous, Group-Updating full sync?

Or, is the next step to instrument the synchronous full-syncs so that the logs help understand the effects?

Thanks much,



From: <> on behalf of Jeffrey Williams <>
Sent: Monday, September 10, 2018 10:12 AM
To: Yoann Delattre
Cc: ; Grouper-Users
Subject: Re: [grouper-users] [PSPNG] Renaming a folder trigger a full sync

It is!  I was curious to see if all of the provisioners normally sync that renamed folder, or did the rename cause an unrelated provisioner, where the folder would be out-of-scope for it, to sync its own groups as well.

The former would make sense since the provisioners run independently of each other and if an event causes a full-sync for one provisioner, it would happen for the others as well.  The latter would be interesting.

For updating stems(i.e. folders), does PSPNG call the full-sync engine to do a targeted sync of the renamed folder?  

On Mon, Sep 10, 2018 at 9:36 AM Yoann Delattre <> wrote:

pspng_attrFrEduLilHabilitation use groupSelectionExpression parameter :

changeLog.consumer.pspng_attrFrEduLilHabilitation.groupSelectionExpression = ${name.startsWith("app:") && name.contains(":habil:")}

pspng_brancheGrouper : provision_to attribute is set on practically all root folder.

pspng_brancheListes : provision_to attribute is only set on a specific folder.

i'm not sure if this is what you're asking for ?

Anyway thanks for your help !

Le 10/09/2018 à 15:22, Jeffrey Williams a écrit :
I'm also curious as to how you're setting your provisioning attributes: immediate folder, parent or *parent folder?  Individual groups?


On Mon, Sep 10, 2018 at 9:20 AM Yoann Delattre <> wrote:

with the last patch : 21.

Le 10/09/2018 à 15:15, Julio Macavilca a écrit :
Just curious, in which patch are you noticing this?


On Mon, Sep 10, 2018 at 9:02 AM, Yoann Delattre <> wrote:

I'm currently testing PSPNG.
During my tests, rename a folder (with some groups in it) triggered a full sync for all the provisioners :

2018-09-10 13:57:00,594: [DefaultQuartzScheduler_Worker-1] INFO FullSyncProvisioner.queueAllGroupsForFullSync(551) -  - FullSyncer(pspng_attrFrEduLilHabilitation): Queuing all groups for full sync. (Work item invokes full sync: ProvisioningWorkItem[done=false,clog=clog #3931352 / ChangeLog type: stem: updateStem])
2018-09-10 13:57:00,613: [DefaultQuartzScheduler_Worker-2] INFO FullSyncProvisioner.queueAllGroupsForFullSync(551) -  - FullSyncer(pspng_brancheListes): Queuing all groups for full sync. (Work item invokes full sync: ProvisioningWorkItem[done=false,clog=clog #3931352 / ChangeLog type: stem: updateStem])
2018-09-10 13:57:02,047: [DefaultQuartzScheduler_Worker-3] INFO FullSyncProvisioner.queueAllGroupsForFullSync(551) -  - FullSyncer(pspng_brancheGrouper): Queuing all groups for full sync. (Work item invokes full sync: ProvisioningWorkItem[done=false,clog=clog #3931352 / ChangeLog type: stem: updateStem])

Is this the expected behavior ?

i'm a little concern because if a full sync of all provisioners is started during work time, provisioning will take more time than usual.

Thanks for your help,

Jeffrey Williams 
Identity Engineer
Identity & Access Services

Jeffrey Williams 
Identity Engineer
Identity & Access Services

Archive powered by MHonArc 2.6.19.

Top of Page