Bug 28248 - Globales Limit für die maximale Anzahl vom LDAP abzufragender Objekte
Globales Limit für die maximale Anzahl vom LDAP abzufragender Objekte
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - Domain management (Generic)
UCS 3.0
Other Linux
: P5 enhancement (vote)
: UCS 3.1
Assigned To: Alexander Kläser
Florian Best
: interim-3
Depends on:
Blocks: 26556 33181
  Show dependency treegraph
 
Reported: 2012-08-17 17:21 CEST by Janis Meybohm
Modified: 2013-11-07 11:34 CET (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): UCS Performance
Max CVSS v3 score:
klaeser: Patch_Available+


Attachments
Patch zum Aktivieren des Sizelimits (3.88 KB, patch)
2012-10-24 18:08 CEST, Alexander Kläser
Details | Diff
Patch zum Aktivieren des Sizelimits (4.65 KB, patch)
2012-10-25 18:21 CEST, Alexander Kläser
Details | Diff
Patch zum Aktivieren des Sizelimits (5.10 KB, patch)
2012-10-25 18:32 CEST, Alexander Kläser
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Janis Meybohm univentionstaff 2012-08-17 17:21:12 CEST
In größeren Umgebungen könnte es hilfreich sein die maximal von LDAP abgefragt Anzahl Objekte global (in der UMC) zu beschränken. So würde eine versehentliche Suche nach allen Benutzer nicht alle Benutzer zurückgeben sondern nur 1000 oder 2000 Objekte.
Comment 1 Dirk Wiesenthal univentionstaff 2012-10-24 14:14:06 CEST
Das könnte man dann auch als threshold für die ComboBox in UDM benutzen - das ist momentan einfach 1000 (und müsste für jedes Attribut einzeln überschrieben werden). Bug 26556
Comment 2 Alexander Kläser univentionstaff 2012-10-24 18:08:51 CEST
Created attachment 4740 [details]
Patch zum Aktivieren des Sizelimits

Anbei ein erster Versuch das Sizelimit im UMC-UDM-Modul zu aktivieren. Über die UCR-Variable directory/manager/web/sizelimit kann der genaue Wert angepasst werden. Das funktioniert soweit ganz gut.

Wichtig: beim Öffnen einer UDM-Detailseite kann der Fehler auch auftreten. Dadurch bleiben die entsprechenden ComboBoxen leer. Es sollten daher die entsprechen Syntaxen auf normale Textfelder (bspw. die Syntax für Strings) gesetzt werden, damit dieser Fehler nicht auftritt. In UCS 3.1 sollte sich dieses Problem durch Bug 26556 erledigt haben.

Noch ein kleines Problem: beim Öffnen eines Benutzers erhält man einen Traceback. Ich bin mir nicht sicher warum, eigentlich sollte diese Exception (aufgrund eines Sizelimits) vorher abgefangen werden, sie wird allerdings als LDAP_ConnectionError mit der Nachricht "Size limit exceeded" ausgegeben.
Comment 3 Alexander Kläser univentionstaff 2012-10-24 18:10:13 CEST
Noch ein Hinweis, ich hab am Ende der Methode search() ein gc.collect() eingebaut, damit Speicher bei großen Suchen zügig wieder frei gegeben wird.
Comment 4 Alexander Kläser univentionstaff 2012-10-25 08:52:56 CEST
(In reply to comment #2)
> ...
> Noch ein kleines Problem: beim Öffnen eines Benutzers erhält man einen
> Traceback. Ich bin mir nicht sicher warum, eigentlich sollte diese Exception
> (aufgrund eines Sizelimits) vorher abgefangen werden, sie wird allerdings als
> LDAP_ConnectionError mit der Nachricht "Size limit exceeded" ausgegeben.

Wenn dieser Fehler auf einer Detailseite beobachtet wird, ist das ein Zeichen dafür, dass die Syntax angepasst werden sollte. Insofern hilft es auch bei der Fehlersuche :) .
Comment 5 Alexander Kläser univentionstaff 2012-10-25 17:00:22 CEST
Der Patch wurde in die 3.1-Pakete mit den beschriebenen "Schönheitsfehlern" übernommen. 

 univention-management-console-module-udm (3.0.40-1) unstable; urgency=low
 .
   * added size limit for search result; Bug #28248

 univention-directory-manager-modules (8.0.74-1) unstable; urgency=low
 .
   * added exceptions for size and time limit; Bug #28248
Comment 6 Alexander Kläser univentionstaff 2012-10-25 17:18:10 CEST
Das initiale Limit habe ich jetzt mal auf 2000 gesetzt.
Comment 7 Alexander Kläser univentionstaff 2012-10-25 18:21:04 CEST
Created attachment 4748 [details]
Patch zum Aktivieren des Sizelimits

Noch eine kleine Korrektur.
Comment 8 Alexander Kläser univentionstaff 2012-10-25 18:32:47 CEST
Created attachment 4749 [details]
Patch zum Aktivieren des Sizelimits

Noch eine kleine Korrektur.
Comment 9 Dirk Wiesenthal univentionstaff 2012-10-29 13:55:39 CET
Siehe auch https://forge.univention.org/bugzilla/show_bug.cgi?id=26556#c24

Weiteres Problem für UDM (aber nicht im Scope von Bug 26556): Während die neue UDM-ComboBox für alle Syntaxen < UDM_Objects zuständig ist und das neue Limit entsprechend behandelt, gilt das nicht für Syntaxen < UDM_Attribute. Ist es realistisch, dass da mehr als 2000 Objekte zurückkommen? Wenn ja, muss man noch nacharbeiten.
Comment 10 Stefan Gohmann univentionstaff 2012-11-16 12:11:53 CET
(In reply to comment #9)
> Siehe auch https://forge.univention.org/bugzilla/show_bug.cgi?id=26556#c24
> 
> Weiteres Problem für UDM (aber nicht im Scope von Bug 26556): Während die neue
> UDM-ComboBox für alle Syntaxen < UDM_Objects zuständig ist und das neue Limit
> entsprechend behandelt, gilt das nicht für Syntaxen < UDM_Attribute. Ist es
> realistisch, dass da mehr als 2000 Objekte zurückkommen? Wenn ja, muss man noch
> nacharbeiten.

Was meinst du mit "Syntaxen < UDM_Attribute"?
Comment 11 Dirk Wiesenthal univentionstaff 2012-11-16 12:13:59 CET
(In reply to comment #10)
> (In reply to comment #9)
> > Siehe auch https://forge.univention.org/bugzilla/show_bug.cgi?id=26556#c24
> > 
> > Weiteres Problem für UDM (aber nicht im Scope von Bug 26556): Während die neue
> > UDM-ComboBox für alle Syntaxen < UDM_Objects zuständig ist und das neue Limit
> > entsprechend behandelt, gilt das nicht für Syntaxen < UDM_Attribute. Ist es
> > realistisch, dass da mehr als 2000 Objekte zurückkommen? Wenn ja, muss man noch
> > nacharbeiten.
> 
> Was meinst du mit "Syntaxen < UDM_Attribute"?

Syntaxen, die von UDM_Attribute erben. Ist Ruby-Syntax. Python-Syntax sähe hier irgendwie komisch aus
Comment 12 Stefan Gohmann univentionstaff 2012-11-16 12:33:37 CET
(In reply to comment #11)
> (In reply to comment #10)
> > (In reply to comment #9)
> > > Siehe auch https://forge.univention.org/bugzilla/show_bug.cgi?id=26556#c24
> > > 
> > > Weiteres Problem für UDM (aber nicht im Scope von Bug 26556): Während die neue
> > > UDM-ComboBox für alle Syntaxen < UDM_Objects zuständig ist und das neue Limit
> > > entsprechend behandelt, gilt das nicht für Syntaxen < UDM_Attribute. Ist es
> > > realistisch, dass da mehr als 2000 Objekte zurückkommen? Wenn ja, muss man noch
> > > nacharbeiten.
> > 
> > Was meinst du mit "Syntaxen < UDM_Attribute"?
> 
> Syntaxen, die von UDM_Attribute erben. Ist Ruby-Syntax. Python-Syntax sähe hier
> irgendwie komisch aus

Ah, OK.

Das sind derzeit PrinterProtocol, PrinterDriverList, KDE_Profile und Packages. Bei denen ist das unkritisch.
Comment 13 Jascha Geerds univentionstaff 2012-11-19 12:49:31 CET
* Das 'sizelimit' lässt sich via UCR konfigurieren
* Wenn eine Suche zuviele Ergebnisse liefert, bekommt man 
  einen entsprechenden Hinewis
* Die ComboBox passt sich bei zuvielen Einträgen an

Insofern alles gut, es fehlt jedoch noch der Changelog-Eintrag
Comment 14 Alexander Kläser univentionstaff 2012-11-20 10:38:14 CET
Der Changelog-Eintrag wurde hinzugefügt.
Comment 15 Florian Best univentionstaff 2012-11-20 11:28:11 CET
(In reply to comment #14)
> Der Changelog-Eintrag wurde hinzugefügt.
OK
Comment 16 Stefan Gohmann univentionstaff 2012-12-12 21:07:53 CET
UCS 3.1-0 has been released: 
 http://forum.univention.de/viewtopic.php?f=54&t=2125

If this error occurs again, please use "Clone This Bug".