Major
Detail
Detail
#27027
Declarative forms: SelectField disappears after upload if option list depends on mandatory property
#27042
MaintenanceJspBase should write to the log first, then to the client, instead of the other way around.
Enhancement
When using TL-Sync with large data sets, it has been noticed that this is sometimes very slow and can probably be optimized significantly.
By "large data sets" we mean changesets with about a million changes.
Improvement
Sending has been optimized. For a changeset with 1 800 000 changes it took 6 hours before. After optimization only 2.5 minutes. This is completely sufficient. In detail, the following optimizations were performed:
- A quadratic complexity was removed when filtering out changes that are not to be sent.
- Ticket #27057: A database request is no longer made per object.
- Ticket #27063: ClassLoader.loadClass(String) is no longer called per object.
- The tl:KBDataProducerTask logs whether progress was made when errors occur.
Test
No automatic test. Manually it can be tested in Kafka Demo with some effort:
- Reconfigure Kafka Demo to use MySQL.
- H2 seems to cause extreme performance problems above about a million objects.
- Start Kafka Demo.
- Disable the tl:KBDataProducerTask in the SchedulerGui.
- Create a large changeset using the "Create many objects" button.
- Restart the application to clear all tl:KnowledgeBase caches.
- Reactivate the above task.
- Measure how long the task takes to transfer the objects.