Bugs item #1120726, was opened at 2005-02-11 05:58
Message generated for change (Settings changed) made by tdonohue
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=119984&aid=1120726&group_id=19984

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: E-Person/Group Mgmt
Group: 1.2.1
>Status: Closed
>Resolution: Out of Date
Priority: 5
Private: No
Submitted By: Mads Pultz (mphansen)
Assigned to: Nobody/Anonymous (nobody)
Summary: Performance bottlekneck in Group.update()

Initial Comment:
Group.update() does not scale when you have a database
with many users.

If you add a person to a group and then call
Group.update() then the following happens.

1) All person associations to that group are deleted.
2) All deleted person associations are created again
including the new one.
3) Each sql insert in 2 is followed by sql update which
should not be nessesary.

This algorithm does not perform when there are many
users. For example, if you have 10000 users and 50
groups (one installation has this in production)
addition of one user implies

1+200+1+200+1

sql statements. This is not very efficient.

We are experiencing this problem with a web service
add-on solution to dspace which imports users.

I suggest a solution where Group.update() only performs
the nessesary sql. Those persons that have been deleted
are deleted and those persons that have been added are
added.

Remember to keep track of the order of method
executions. For example, if a user is deleted and added
to group the order matters.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=119984&aid=1120726&group_id=19984

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Dspace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel

Reply via email to