major
nice-to-have
minor
#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
defect
A tl:ThreadLocalCommittable expects the cached tl:CommitContext and the passed-in CommitContext to match during commit and rollback. Afterward, the cache is reset.
During the commit of the tl:KnowledgeBase, the ThreadLocalCommittable "commit" is called first, followed by a database commit. If this fails (or anything fails later), the ThreadLocalCommittable "rollback" is called.
In the `ThreadLocalCommittable`, the cached context was already reset during the commit, so the check for the correct context results in an assertion error:
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 ....
This AssertionError is caught and logged.
Test
TestThreadLocalCommittable.