Skip to Content.
Sympa Menu

grouper-dev - RE: [grouper-dev] Occasionally Truncated Membership

Subject: Grouper Developers Forum

List archive

RE: [grouper-dev] Occasionally Truncated Membership


Chronological Thread 
  • From: Chris Hyzer <>
  • To: Tom Barton <>, Colin Hudler <>
  • Cc: "" <>
  • Subject: RE: [grouper-dev] Occasionally Truncated Membership
  • Date: Fri, 11 Sep 2009 23:53:28 -0400
  • Accept-language: en-US
  • Acceptlanguage: en-US

I traced through the code of group.getMembers(), and I do see a potential gap
(that I found in april, but only made a note of it...), but I don't think it
explains your problem. I changed:

FROM (in MembershipFinder):

catch (SchemaException eSchema) {
//MCH 20090405: Shouldnt this rethrow?
LOG.warn("Error retrieving members", eSchema);
}

TO:

catch (SchemaException eSchema) {
String groupName = null;
try {
groupName = group.getName();
} catch (Exception e) {
LOG.error("error getting group name", e);
}
throw new RuntimeException("Error retrieving members for group: " +
groupName, eSchema);
}

Gary or Shilen, if you know why the code was like that, please speak up now.
Colin, if you want to get the latest API in the 1.4 branch, maybe it would
help.

I say it doesn't explain your problem because it seems like you are getting
10k out of 50k right? I think if an exception were thrown and swallowed, you
would get 0 back... also, if you can confirm that you have logging set to
log WARN messages, then you should already see a message there about this.
If not, then my fix wont help...

If you can let me know the API code you are running, that could help. Maybe
we could add some more logging info in the API...

Thanks,
Chris

> -----Original Message-----
> From: Tom Barton
> [mailto:]
> Sent: Friday, September 11, 2009 12:52 PM
> To: Colin Hudler
> Cc:
>
> Subject: Re: [grouper-dev] Occasionally Truncated Membership
>
> Colin,
>
> Thanks for that heads-up. I also know that you're taking steps to try
> to
> reproduce the problem more often than once every several months. That
> is probably essential to debugging whatever the problem is.
>
> Can you also detail which version of grouper and other info about the
> execution context in which the problem crops up? Java rev, DB, etc?
>
> Tom
>
> Colin Hudler wrote:
> > Greetings,
> >
> > We have an hourly process that reads select groups and memberships
> from
> > the grouper API and syncronizes them to various places (LDAP, SQL, ).
> > This process has been running for over a year, and evolves over time,
> as
> > does our groups registry.
> >
> > A few months ago, for no apparent reason, the provisioner destroyed a
> > large number of members to a large group. About 40k out of 50k
> members
> > were deleted in the provisioning target. The groups registry
> appeared
> > intact from the web UI. Subsequent runs of the job corrected it
> > automatically by adding the members back. It happened again in the
> same
> > week, and we still did not have sufficient logs to pinpoint the
> problem.
> > It has not reoccurred, and I have been trying to duplicate it ever
> since.
> >
> > Yesterday the problem finally repeated, and I found that the API
> > returned a truncated membership from getMembers (it returned about
> 10k
> > members instead of 50k). Subsiquent calls to getMembers behaved
> > correctly. Grouper did not log any errors, or anything unusual. I
> am
> > also unable to determine what caused it. I don't have a decent
> theory,
> > only hypothesis.
> >
> > I realize that no problem of this kind has ever been reported. I
> > believe it is tied to this specific group (and one other). I can
> > provide more information if anyone is interested.




Archive powered by MHonArc 2.6.16.

Top of Page