Bugfix
KBCache's are listeners at the KB to update the cache value based on commits.
If a cache is requested at an inconvenient time, the cache may already be up-to-date, but still be informed by the KB of the current commit. In this case an error occurs
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 issue. Not easy to test.