Major
Nice to have
Detail
#25217
Layout-Export führt zu invaliden Komponenten-Referenzen bei Referenzierung einer bestehenden Komponente
#25327
Modell-Editor: Falsche Kompositionsmarker, wenn Container-Typ in Diagramm von Content-Typ gezogen wird
Bugfix
Ein tl:ThreadLocalCommittable erwartet im Commit und Rollback, dass der gecachte tl:CommitContext und übergebene CommitContext übereinstimmt. Danach wird der Cache zurückgesetzt.
Im Commit der tl:KnowledgeBase wird zuerst auf den ThreadLocalCommittable "commit" aufgerufen und dann ein Datenbank-Commit ausgeführt. Schlägt dies fehl (oder irgendetwas später), so wird auf den ThreadLocalCommittable "rollback" aufgerufen.
In dem ThreadLocalCommittable wurde im Commit der gecachte Context bereits zurückgesetzt, so dass die Überprüfung auf den korrekten Kontext zu einem Assertion-Fehler führt:
java.lang.AssertionError: Context changed during commit. at com.top_logic.knowledge.service.ThreadLocalCommitable.rollback(ThreadLocalCommitable.java:68) at com.top_logic.knowledge.service.db2.DefaultDBContext.rollbackCommitables(DefaultDBContext.java:1252) at com.top_logic.knowledge.service.db2.DefaultDBContext.localRollback(DefaultDBContext.java:1072) at com.top_logic.knowledge.service.db2.DefaultDBContext.rollbackComplete(DefaultDBContext.java:498) at com.top_logic.knowledge.service.db2.DefaultDBContext.commitTransaction(DefaultDBContext.java:817) at com.top_logic.knowledge.service.db2.TransactionImpl.internalCommit(TransactionImpl.java:163) at com.top_logic.knowledge.service.AbstractTransaction.commit(AbstractTransaction.java:71) at ....
Dieser AssertionError wird gefangen und geloggt.
Test
TestThreadLocalCommittable.