Skip to Content.
Sympa Menu

grouper-users - RE: [grouper-users] Grouper 2.4, PSPNG Patches 7 & 8 Released

Subject: Grouper Users - Open Discussion List

List archive

RE: [grouper-users] Grouper 2.4, PSPNG Patches 7 & 8 Released

Chronological Thread 
  • From: "Hyzer, Chris" <>
  • To: "Bee-Lindgren, Bert" <>, "" <>
  • Subject: RE: [grouper-users] Grouper 2.4, PSPNG Patches 7 & 8 Released
  • Date: Fri, 12 Jul 2019 15:19:50 +0000

Thanks so much Bert!


From: <> On Behalf Of Bee-Lindgren, Bert
Sent: Thursday, July 11, 2019 4:12 PM
Subject: [grouper-users] Grouper 2.4, PSPNG Patches 7 & 8 Released


PSPNG Patches 7 & 8 make several improvements which are summarized below. You can also find more details in the following Jiras:





Improvements made to: Caching, Unresolvable-subject handling, Integration tests (particularly Active Directory), and Bug Fixes

Caching (more configurable, uses less memory)
-Cache configuration moved to (generic) Provisioner class from LdapProvisioner
(warnings and backwards compatibility in place for ldapUserCacheSize and
-Sharing GrouperGroup, GrouperSubject and TargetSystemUser caches
between Full and Incremental sync systems. TargetSystemGroup caches
are separately cached by Full and Incremental provisioners because
FullSync and Incremental provisioners might fetch different information
about Groups
-Separate cache sizes for Grouper and TargetSystem information
-Map cache-size=0 to cache-size=1 because size=0 means Unlimited caching
within EhCache

Unresolvable subjects: Handled gracefully

Integration Tests:
-Active Directory tests (needs external AD server)
-Support LDAP target separate from Subject Source
--ldap parameters from
-Fix some missing objectclasses
-Better list comparisons that report diffs when integ tests fail
-add pre_test and post_test hooks for (external) AD cleanup
-Better test-failure messages

-Provide updates while quartz-initiated full-syncs are underway
--JobStatistics's date externalized so intermediate stats could collect information about work done so far

FullSync setup:
-Set activeProvisioner earlier in FullSync thread and just log a warning
when LdapObjects are created when the ActiveProvisioner is not defined
-Refresh GrouperSession earlier in process so messaging acks/requeues work

FullSync processing:
-Force set comparisons to use correct case sensitivity by forcing both sets
being compared to have correct sensitivity. (Java doesn't use consistent
set semantics when comparing sets:
-Only sync groups that are selected for provisioning
-Repeat FullSyncs when they make changes to make sure that the FullSync
didn't clobber a realtime change

  • This required Provisioner.fullSync to return whether changes occurred
    -Do ldap modification right away (instead of coalescing them) because
    the FullSync handles a single group and, therefore, no coalescing across
    multiple groups is possible

-Ldap-logging utilitiy methods in LdapEntry for consistent INFO summaries
and DEBUG details
-Moving several INFO messages to DEBUG
-Warnings about coalesced-provisioning failures greatly simplified
-Several small message/level improvements

Cache-Efficiency stats: (not complete)
-Add getNativeMemorySize_bytes() to TargetSystemUsers and Groups to
be able to compare how much memory TargetSystemUsers and TargetSystemGroup
objects take vs how much data came from the TargetSystem. Eg, compare
how much an LdapEntry data structure takes vs the equivalent LDIF text of
the Entry


Archive powered by MHonArc 2.6.19.

Top of Page