Details
-
Improvement
-
Resolution: Fixed
-
Major
-
2.4.0.patch
-
None
Description
Full-Sync and Incremental syncs operate differently:
FullSync: Read information (sometimes for several minutes), compare, make changes
Incremental: Receive event, Make change
Therefore, it is possible for a FullSync to implement changes on stale information that occurred after the FullSync started to read information.
To avoid this problem: Within a single grouper-loader daemon, PSPNG coordinates Incremental- and Full-Sync processes, preventing both from working on the same group most of the time. However, this is a Soft coordination in the sense that it times out (coordinationTimeout_secs).
Problems remain: The coordinations can time out, and Multiple grouper daemons do not coordinate at all.
Proposed solution: Repeat FullSyncs until FullSyncs don't need to make changes, making sure to reread the membership information from Grouper. Of course, an extremely busy group might never stabilize enough for a change-free full-sync. For these cases, there should be a maximum number of times fullsyncs are repeated.