Verbesserung
Top-Thema
Wichtig
Kleinigkeit
Wichtig
Fehlerbehebung
KBCache's sind Listener an der KB um den Cache-Wert aufgrund von Commits zu aktualisieren.
Wenn ein Cache zu einem ungünstigen Fall angefragt wird, kann es sein, dass der Cache schon up-to-date ist, aber trotzdem durch die KB über das gegenwärtige Commit informiert wird. In diesem Fall kommt es zu einem Fehler
Caused by: java.lang.AssertionError at com.top_logic.knowledge.service.db2.ValidityChainImpl.updateMaxValidity(ValidityChainImpl.java:36) at com.top_logic.knowledge.service.db2.AbstractKBCache.newCache(AbstractKBCache.java:271) at com.top_logic.knowledge.service.db2.AbstractKBCache.handleUpdateEvent(AbstractKBCache.java:250) at com.top_logic.knowledge.service.db2.AbstractKBCache$2.internalUpdate(AbstractKBCache.java:209) at com.top_logic.knowledge.service.db2.AbstractKBCache$2.internalUpdate(AbstractKBCache.java:205) at com.top_logic.knowledge.service.db2.AbstractWeakUpdateListener.notifyUpdate(AbstractWeakUpdateListener.java:52) at com.top_logic.knowledge.service.db2.DBKnowledgeBase.fireUpdate(DBKnowledgeBase.java:2947) at com.top_logic.knowledge.service.db2.DBKnowledgeBase.endCommit(DBKnowledgeBase.java:4153) at com.top_logic.knowledge.service.db2.DefaultDBContext.kbEndCommit(DefaultDBContext.java:1046) at com.top_logic.knowledge.service.db2.DefaultDBContext.commitTransaction(DefaultDBContext.java:790) ...
Test
Concurrency-Problem. Nicht einfach zu testen.