Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] loader FIFO

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] loader FIFO


Chronological Thread 
  • From: "Bee-Lindgren, Bert" <>
  • To: "" <>, "" <>
  • Cc: Chris Hyzer <>, "" <>
  • Subject: Re: [grouper-users] loader FIFO
  • Date: Wed, 19 Dec 2018 19:33:07 +0000
  • Accept-language: en-US
  • Authentication-results: spf=none (sender IP is ) ;
  • Ironport-phdr: 9a23:O2916xc4js6aL0POWJ3zHzTLlGMj4u6mDksu8pMizoh2WeGdxc27ZBON2/xhgRfzUJnB7Loc0qyK6/CmATRIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSizexfbB/IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbDVwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4rx1QxH0ligIKz858HnWisNuiqJbvAmhrAF7z4LNfY2ZKOZycqbbcNgHR2ROQ9xRWjRBDI2icoUPE+QPM+VWr4b/plsBsRSxCBK2C+/z1jNFnGP60bE63uknDArI3BYgH9ULsHnMotn4KbkdXv6swKfOzDXDae5Z2Tjn6IfWdBAtueyHUK9ufsrL1UkjGR7Og1KLpoP7JTOVyv4BvHOF4OV+TO6vj28nqwdsrTig3McjlI/Ji5kSylDF6SV12ok1KsekSEFlfdGkEIFcuD+HOItrW84vRXxjtig9yr0Do5G7fS4KxYwmxx7Zd/yIbZKI4hT9W+aNPzt0nmxqd6+ihxu07EOuyfX8W9Gq3FlQsiZJj9zBum0Q2xDO78WHRPRw8lu91TuK2QDc9O5JLloxmKfeKZMt36I8moINvUnMBCP6hVv6ga+Mekk65OSk8eXqb7v+qp+SKYB5iR3yP6Erl8G9Aek0LwkDUm2F9um9ybLv4Uj0TbdFg/A0iKbUtZ7aKt8HqaKnBQJez5wt5AylDzi81dQVhXkHI0xBeBKAl4XnI03DLvfkAfqxmlihjTVky+7fMr3mGZrCMGLPkLD8fbZh8EFczxczzdZC6J5OErEBOvXzWlPvu9PEEh85Mgu0w+D9BNV6y4MeRWaPAqieMKPRq1OH+uUvI+yUaI8UvjbyNeQl6ubwgXAjhVMRYKyk0YYKZHylG/lmLUqUbWbwjtoEH2cFoAUzQ/bvhVCHUzNfemq+U7o55j4hCYKmCYnDRpqqgLyExCq0BYNZZnpaClyWCnjnaZuLV+4IaCKTJM9ujzMEVaK/RI8nzhyusw76y6Z9Iurb4CIYqYzs28R15+HJix496CF0A9yH026RV2F0gn8IRzgu0aBwu0x9zUqD0bBmjPxCDNBT+uhJXRkgNZ7H1OF6D9HyWhndfteSVlqqWNSmATctTt0v2d8OZVhyG8m8ghzZwSWlHqIVxPS3A8l++KbV1Hu3fpwm43Hdye8sg0RsCp9FMWSthegmrVP7AJXU1UiVivDuPe4V2iLX+U+exnGF+kxUTUQ4BazDUWoSTlbdtt+/60/fGeyAE7MiZ0FrxMPHDqpMZtLzgFMCDN3uIsiUKza7ln2sQxyFy/aIbYzmdH8Q2g3aCVRCnAkP8H2GcwUyG3Hy8CrlEDVyGAe3MAvX+u5kpSb+FxdslVvYZlB917ez5h8ejOCdTPVWxL8fpSM9sGopTk2l0YfQDNyN70p6caNQbMl1wW8P1HmR9mkfdoelM7gkg1cfdwptuEa73RhtFsNKnMVvqHIswAVoJKSw11JdMTyRwZ37OvvaJnShtB0=
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99

Within PSPNG, there are four provisioning "queues:"

1) Incremental

  - driven by the Changelog


2) Full-Sync-Retry queue

  - Where failed FullSyncs go when they fail


3) Full-Sync queue

  - Scheduled full sync


4) Full-Sync-ASAP queue

  - From messaging group name to pspng_full_sync_<provisioner name>

  - From certain incremental changes [GRP-1971 describes making these less urgent])


The problem is there is no way to stop a FullSync provisioner once it is working on a group. It's  technically possible to turn a gsh session into a one-shot provisioner for a group, but I just created GRP-1970 to document doing this with a more supportable interface.


So...

For now, the best you can do

a) Run multiple Daemons, and

b) Send a grouper-messaging message to the FullSync provisioner to put your group at the front of the line:


Something like:

provisioner_name="ad";

group_name="app:xyz:pdq";


gs = GrouperSession.startRootSession();
edu.internet2.middleware.grouperClient.messaging.GrouperMessagingEngine.send(new edu.internet2.middleware.grouperClient.messaging.GrouperMessageSendParam().assignGrouperMessageSystemName(GrouperBuiltinMessagingSystem.BUILTIN_NAME).assignQueueType(edu.internet2.middleware.grouperClient.messaging.GrouperMessageQueueType.queue).assignQueueOrTopicName("pspng_full_sync_" + provisioner_name).addMessageBody(group_name));




From: <> on behalf of Andre Daniels <>
Sent: Sunday, December 16, 2018 4:48 PM
To:
Cc: Andre Daniels; Chris Hyzer;
Subject: Re: [grouper-users] loader FIFO
 
Carey,

Thanks for the reply. It's a busy year-end so I haven't had time to look into your/suggestions/questions. 

Hooks are more on the “interactive UI” ( but not strictly interactive the work can be done via async to the UI threads as well) activities for the system.

 I looked into hooks and I am not yet sure how this applies. I am looking for a way to have UI driven changes provision to ldap immediately even while a large group is being provisioned. This may not fit in with the design of grouper or good practice for data management. Are you suggesting that UI changes use a hook to run custom code?

Should those things only made in Grouper after some external system state is changed?

                                Maybe that order should be changed to allow the user to “do all of their work” and “let the system process the CLC” later?

 

Sorry, again, I am not sure what you are describing here. My (maybe too) simple view of Grouper is that all provisioning runs through the two change log entry tables and that the provisioner picks data off GROUPER_CHANGE_LOG_ENTRY to act upon. I see there are point in time tables but I don't yet know how they fit into the picture. Again, the basic problem I am trying to solve is that user A creates a large group, shortly after user B creates a large group, how can I get user B's data to provision to ldap quickly? Some large groups take a long time to provision and it seems that user B's change is place at the end of the queue. 

Are there some additional docs and diagrams that I need to read maybe?

Andre

On Tue, Dec 11, 2018 at 7:06 AM Black, Carey M. <> wrote:

Andre,

 

Maybe you are using the wrong tools in Grouper to achieve your goals?

 

My personal philosophy ( IMHO and subject to debate by the list J ) :

 

                Change Log Consumers (CLC) should be for outbound flow of changes from Grouper to other systems.

                                Note: You can also loop the CLC’s through a messaging systems for this too.

 

                Hooks are more on the “interactive UI” ( but not strictly interactive the work can be done via async to the UI threads as well) activities for the system.

 

 

Which leads me to these question:

 

                What are your CLC’s doing that you would expect to see in the UI?

                Should those things only made in Grouper after some external system state is changed?

                                Maybe that order should be changed to allow the user to “do all of their work” and “let the system process the CLC” later?

 

 

Additionally another “random” (yet maybe related) question:

                What RDMBS are you using?

                Are your DBA’s seeing any long running queries? ( If so, what are they?)

 

 

And note: You should always have at least one loader/daemon running.

                If it is not running all of the time, then there will be “a lot of work” to catch up on when it starts and that then will be an avalanche of CLC activities too. ( And some things that are done with Grouper rules will also not be enforced regularly either. )

 

--

Carey Matthew

 

From: <> On Behalf Of Hyzer, Chris
Sent: Monday, December 10, 2018 5:00 PM
To: ;
Subject: RE: [grouper-users] loader FIFO

 

The change log starts as a single queue as id’s get assigned and point in time and flattened memberships are calculated.  The UI will still work though.

 

If you have a recent grouper then you can/should run multiple loaders.  We have 2.3 at penn and run 5 loader processes.  Might be overkill, but just as a datapoint

 

Thanks

Chris

 

From: <> On Behalf Of Andre Daniels
Sent: Monday, December 10, 2018 3:48 PM
To:
Subject: [grouper-users] loader FIFO

 

Are all grouper changesets put into a single queue? It appears that new changes are starved while while large jobs are processing. Is there a way to keep the UI responsive while a sync or some other large job is being processed? Similarly, is it possible to run 2 loaders? I was cautioned not to, but I would like to have a loader that starts up periodically and runs a sync.

 

Thanks,

Andre
--

Andre Daniels 

Sr. Developer/Security Analyst

University of California Santa Cruz

(831) 459-1980



--
Andre Daniels 
Sr. Developer/Security Analyst
University of California Santa Cruz
(831) 459-1980



Archive powered by MHonArc 2.6.19.

Top of Page