Wichtig
Detail
Detail
#26663
TreeGridComponent: Selektion wird nach Verwerfen einer transienten Zeile nicht zurück gesetzt
#27027
Deklarative Formulare: SelectField verschwindet nach Upload, wenn Optionsliste von mandatory Property abhängig ist
#27090
TreeTableComponent soll initial die erste sichtbare Zeile selektieren, wenn initial eine Zeile selektiert werden soll
Verbesserung
Bei der Verwendung von TL-Sync mit großen Datenmengen ist aufgefallen, dass das teilweise sehr langsam ist und wahrscheinlich deutlich optimiert werden kann.
Mit "großen Datenmengen" sind Changesets mit etwa einer Million Änderungen gemeint.
Verbesserung
Das Versenden wurde optimiert. Für ein Changeset mit 1 800 000 Änderungen wurden vorher 6 Stunden benötigt. Nach der Optimierung nur noch 2,5 Minuten. Das ist vollkommen ausreichend. Im Detail wurden folgende Optimierungen ausgeführt:
- Es wurde eine quadratische Komplexität beim Rausfiltern nicht zu versendender Änderungen entfernt.
- Ticket #27057: Es wird nicht mehr pro Objekt eine Datenbank Anfrage gestellt.
- Ticket #27063: Es wird nicht mehr pro Objekt ClassLoader.loadClass(String) aufgerufen.
- Der tl:KBDataProducerTask loggt bei Fehlern, ob Fortschritt erzielt wurde.
Test
Kein automatischer Test. Manuell kann es im Kafka Demo mit einigem Aufwand getestet werden:
- Kafka Demo umkonfigurieren, damit es MySQL nutzt.
- H2 scheint ab etwa einer Million Objekten extreme Performance Probleme zu verursachen.
- Kafka Demo starten.
- Den tl:KBDataProducerTask in der SchedulerGui deaktivieren.
- Mittels des Knopfes "Viele Objekte anlegen" ein großes Changeset erzeugen.
- Die Anwendung neustarten, um sämtliche tl:KnowledgeBase Caches zu leeren.
- Den obigen Task reaktivieren.
- Messen, wie lange der Task benötigt um die Objekte zu übertragen.