grouper-dev - RE: [grouper-dev] changelog implementation sketch
Subject: Grouper Developers Forum
List archive
- From: Chris Hyzer <>
- To: Tom Zeller <>, "GW Brown, Information Systems and Computing" <>
- Cc: Grouper Dev <>, "" <>
- Subject: RE: [grouper-dev] changelog implementation sketch
- Date: Tue, 3 Jun 2008 00:32:29 -0400
- Accept-language: en-US
- Acceptlanguage: en-US
When is the notification going to be sent to the external system.
I hope it is pulled off a queue in the DB and processed that way, and not
real-time or asynchronous from a java hook, right? Since that is the
reliability aspect. In order for the notification to be sure it is
time to notify, a commit must take place of the grouper data. And in
order for that notification to be reliably in the DB, it must be put in the grouper
db, in the same transaction as the data commit. Then it can be pulled off
the audit table (and maybe a table which keeps track of the last_edited date
that each notification type is up to), and sent to the external system, then that
last_edited date or state keeper can be updated… If we really want real time, I think we could use a hibernate session
interceptor or event as a first pass… http://www.hibernate.org/hib_docs/reference/en/html/events.html So the hibernate session keeps track of auditing objects that
are inserted in jdbc, and after the transaction is complete, it loops through
them and asynchronously kicks off notifications. If those succeed they
would update the state of the table that keeps track of progress for that
notification type. Then a daemon can go through and anything 5 minutes or
older can be retried (or whatever the algorithm). Again, I think this is
more complex, but we can give it a shot to achieve more speedy notifications. The
downside here is that all the notifications are not strictly queued…
since multiple grouper instances are all firing the notifications that they
know about, it could get out of order, and data could be inconsistent (e.g. the
grouper db thinks a group exists, but that notification failed, then another
grouper instance adds a member to the group and notifies. The endpoint
must know that the group doesn’t exist and trigger a failure there too…)
the more I think about it, the more I think one daemon with ordered
notifications would be better. Personally I think the simpler approach is to just take the
current state of the data in grouper and notify (once the notification happens).
This notion of serialization and point-in-time is definitely more powerful and
useful, but also more complex and might be less performant and require more
storage… if that turns out to be the case, maybe it could be an option
(the option being either to serialize or to just use grouper data but still
have notifications/auditing available) J Thanks, Chris From:
[mailto:] On Behalf Of Tom Zeller On Mon, Jun 2, 2008 at 4:23 AM, GW Brown <> wrote: I think we need to be very clear on what we are trying to
achieve with auditing since it impacts greatly on our approach. I'm not clear on reliable vs less- or un-reliable auditing.
I understand the notion of serializing a (java) change to an audit database,
but I don't understand where 'guaranteed' fits in. Clues ?
And being one of those sites with multiple JVMs writing to
grouper, I certainly should have realized that our data access protocol is
(essentially) JDBC, hence data stored outside the database would need another
way to get to it at the cost of additional complexity. Memphis' person registry
has a similar setup to grouper and sometimes I wish we had written a service
which wrapped (hid) the underlying database connections. TomZ |
- RE: [grouper-dev] changelog implementation sketch, GW Brown, Information Systems and Computing, 06/02/2008
- Re: [grouper-dev] changelog implementation sketch, Tom Zeller, 06/02/2008
- RE: [grouper-dev] changelog implementation sketch, Chris Hyzer, 06/03/2008
- Re: [grouper-dev] changelog implementation sketch, Tom Barton, 06/03/2008
- RE: [grouper-dev] changelog implementation sketch, Chris Hyzer, 06/03/2008
- Re: [grouper-dev] changelog implementation sketch, Tom Zeller, 06/04/2008
- Re: [grouper-dev] changelog implementation sketch, GW Brown, Information Systems and Computing, 06/05/2008
- Re: [grouper-dev] changelog implementation sketch, Tom Barton, 06/05/2008
- Re: [grouper-dev] changelog implementation sketch, Tom Zeller, 06/05/2008
- Re: [grouper-dev] changelog implementation sketch, Tom Zeller, 06/05/2008
- Re: [grouper-dev] changelog implementation sketch, Tom Barton, 06/06/2008
- Re: [grouper-dev] changelog implementation sketch, GW Brown, Information Systems and Computing, 06/05/2008
- Re: [grouper-dev] changelog implementation sketch, Tom Zeller, 06/05/2008
- Re: [grouper-dev] changelog implementation sketch, GW Brown, Information Systems and Computing, 06/06/2008
- Re: [grouper-dev] changelog implementation sketch, Tom Zeller, 06/04/2008
- RE: [grouper-dev] changelog implementation sketch, Chris Hyzer, 06/03/2008
- Re: [grouper-dev] changelog implementation sketch, Tom Barton, 06/03/2008
- RE: [grouper-dev] changelog implementation sketch, Chris Hyzer, 06/03/2008
- Re: [grouper-dev] changelog implementation sketch, Tom Zeller, 06/02/2008
Archive powered by MHonArc 2.6.16.