Major
Detail
Major
Detail
#26382
                                                
                                                Error messages "Duplicate tag name..." when starting an application in the IDE from a TL-Studio
                                                
                                            #26405
                                                
                                                TTypeRewriter logs warning "Unable to resolve items by external reference" also unnecessarily
                                                
                                            #26431
                                                
                                                Changed superclass relationship leads to changed attribute list in the form editor only after a restart
                                                
                                            #26484
                                                
                                                In-app template for grid and tables: Function "Verifier for use as list item" does not get component model
                                                
                                            #26536
                                                
                                                When rendering HTML from TLScript expressions, configured renderers are not taken into account
                                                
                                            #26797
                                                
                                                Transaction with user input: invisible properties of the form model cannot be assigned values (initialized)
                                                
                                            #26885
                                                
                                                Constraints on declarative forms with arguments from a container reference lead to errors for new elements
                                                
                                            #26921
                                                
                                                ClassCastException when evaluating security rules that refer to (non-structuredElement) singletons of a module.
                                                
                                            #26922
                                                
                                                With generated subject classes, a default provider of an attribute in a non-structure class does not get a create context
                                                
                                            #26988
                                                
                                                In-app documentation generator does not extract documentation for overwritten config properties
                                                
                                            #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.