Fehlerbehebung
Detail
#27131
IllegalStateException: Can not set max validity '657' to frozen chain
In einem Build einer TL 6.10 Anwendung kam es zu folgendem Fehler:
Caused by: java.lang.IllegalStateException: Can not set max validity '657' to frozen chain: com.top_logic.knowledge.service.db2.SimpleKBCacheValue@10a3e26b at com.top_logic.knowledge.service.db2.ValidityChainImpl.updateMaxValidity(ValidityChainImpl.java:43) at com.top_logic.knowledge.service.db2.AbstractKBCache.newCache(AbstractKBCache.java:292) at com.top_logic.knowledge.service.db2.AbstractKBCache.handleUpdateEvent(AbstractKBCache.java:272) at com.top_logic.knowledge.service.db2.AbstractKBCache$2.internalUpdate(AbstractKBCache.java:223) at com.top_logic.knowledge.service.db2.AbstractKBCache$2.internalUpdate(AbstractKBCache.java:219) at com.top_logic.knowledge.service.db2.AbstractWeakUpdateListener.notifyUpdate(AbstractWeakUpdateListener.java:52) at com.top_logic.knowledge.service.db2.DBKnowledgeBase.fireUpdateHighPrio(DBKnowledgeBase.java:2981) at com.top_logic.knowledge.service.db2.DBKnowledgeBase.endCommit(DBKnowledgeBase.java:4208) at com.top_logic.knowledge.service.db2.DefaultDBContext.kbEndCommit(DefaultDBContext.java:1067) at com.top_logic.knowledge.service.db2.DefaultDBContext.commitTransaction(DefaultDBContext.java:794) at com.top_logic.knowledge.service.db2.TransactionImpl.internalCommit(TransactionImpl.java:163) at com.top_logic.knowledge.service.AbstractTransaction.commit(AbstractTransaction.java:71)
Lokal läuft der Test ohne dieses Problem durch. Das Problem lässt sich also vermutlich nicht ohne weiteres reproduzieren. Ob es auf dem Build Server bei weiteren Builds erneut auftritt, wird noch überprüft.
Code-Migration
UpdateListener dürfen keine Commits durchführen. Das war immer schon falsch, denn dies würde dazu führen, dass KnowledgeBase-Events in der falschen Reihenfolge abgearbeitet werden.
Test
Kein Test.