-----BEGIN PGP SIGNED MESSAGE-----
On 09/24/2010 11:27 AM, Ralf Haferkamp wrote:
I agree that the parallel approach is a bit more complex. But it was
significantly faster in the tests I did compared to serially processing
the group members. Otherwise I wouldn't have done that implementation.
BTW, you can see the difference by setting GROUPMEMBER_REQ_PARALLEL to 0.
The goal wasn't to have multiple LDAP connections opened (that would be
insane). But sending multiple request at once to the LDAP server (through
a single connection) and then starting processing the results of the
requests is of course faster than sending sending a single request then
processing the result of that request and then sending the next request.
Simply because the LDAP server can a) process multiple requests at once
and b) has a some request queued to process while the client is busy with
retrieving and processing the results. The only drawback I see here is
that the LDAP Server might limit the number of LDAP request it queues on
a single connection therefor it would probably be good to replace
GROUPMEMBER_REQ_PARALLEL with a value configurable via sssd.conf.
I think this part of your work overlaps with what I've been doing in
order to fix #621 and #625. My approach was a little bit different and
I'm wondering whether we could merge our patches.
I've been implementing Simo's proposal so that for every user that is
not cached in sysdb we add a kind of fake "skeleton" user - just a DN,
name and marked as expired - so that getgrnam is able to return the list
of users but when additional details about the user are requested via
getpwnam/getpwuid, the entry is requested. For more details, please see
Simo's breakdown here: https://fedorahosted.org/sssd/ticket/625
My proposal is to modify your patch #2 to not lookup the users in LDAP,
but rather save these fake expired entries.
I have implemeted this for initgroups (adding fake group entries) and
started on getgrname (or rather sdap_save_group). I have pushed patches
into my fedorapeople git repository (master branch), if you'd like to
take a look.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
-----END PGP SIGNATURE-----