Enhancement
Major
Detail
Major
Detail
Bugfix
Major
#26791
Knowlege Base: Error when updating validity periods when reloading object data
A tl:KnowledgeItem contains data for several time periods. Each period reflects a row in the database. Now a problem with overlapping time periods has occurred.
Occurred in tests of tl-demo. When indexing an object, the access to an object to be loaded by the Lucene thread crashes:
Caused by: java.lang.RuntimeException: An error was logged. Priority of logged message: ERROR; Log Caller: 'class com.top_logic.knowledge.indexing.lucene.LuceneThread'; Message: Indexing of an object failed. It will be skipped. Object: com.top_logic.knowledge.indexing.DefaultIndexingService$WrapperContentObject [, object: DBKnowledgeObject[wrapper: AttributedWrapper(type:test.graph:Edge, id: GenericObject:108700, name: Edge4)]] at test.com.top_logic.basic.AssertNoErrorLogListener.createExceptionFromLogEntry(AssertNoErrorLogListener.java:98) at test.com.top_logic.basic.AssertNoErrorLogListener.createErrorLoggedException(AssertNoErrorLogListener.java:85) at test.com.top_logic.basic.AssertNoErrorLogListener.assertNoErrorLogged(AssertNoErrorLogListener.java:78) ... 101 more Caused by: com.top_logic.knowledge.indexing.lucene.ContentRetrievalFailedException: Retrieving the content failed! at com.top_logic.knowledge.indexing.lucene.LuceneThread.getContent(LuceneThread.java:494) at com.top_logic.knowledge.indexing.lucene.LuceneThread.indexContent(LuceneThread.java:477) at com.top_logic.knowledge.indexing.lucene.LuceneThread.indexQueue(LuceneThread.java:409) at com.top_logic.knowledge.indexing.lucene.LuceneThread.workOnQueues(LuceneThread.java:209) at com.top_logic.knowledge.indexing.lucene.LuceneThread$1.run(LuceneThread.java:194) at com.top_logic.knowledge.indexing.lucene.LuceneThread$1.run(LuceneThread.java:189) at com.top_logic.basic.thread.ThreadContextManager.inInteractionInternal(ThreadContextManager.java:383) at com.top_logic.basic.thread.ThreadContextManager.inSystemInteractionInternal(ThreadContextManager.java:444) at com.top_logic.basic.thread.ThreadContextManager.inSystemInteraction(ThreadContextManager.java:436) at com.top_logic.basic.thread.ThreadContext.inSystemContext(ThreadContext.java:157) at com.top_logic.knowledge.indexing.lucene.LuceneThread.workInSystemContext(LuceneThread.java:189) at com.top_logic.knowledge.indexing.lucene.LuceneThread.workHandlingReaderWriter(LuceneThread.java:155) at com.top_logic.knowledge.indexing.lucene.LuceneThread.workSurvivingExceptions(LuceneThread.java:143) at com.top_logic.knowledge.indexing.lucene.LuceneThread.work(LuceneThread.java:105) at com.top_logic.knowledge.indexing.lucene.LuceneThread.run(LuceneThread.java:96) Caused by: java.lang.AssertionError: Overlapping values: Values[max:9223372036854775807,min:3646] Deleted[max:9223372036854775807,min:3647,older:Values[max:3646,min:3646]] at com.top_logic.knowledge.service.db2.DBKnowledgeItem.updateWithNewerValues(DBKnowledgeItem.java:741) at com.top_logic.knowledge.service.db2.DBKnowledgeItem.updateValues(DBKnowledgeItem.java:721) at com.top_logic.knowledge.service.db2.DBKnowledgeItem.refetch(DBKnowledgeItem.java:690) at com.top_logic.knowledge.service.db2.DBKnowledgeBase.findOrCreateItem(DBKnowledgeBase.java:5087) at com.top_logic.knowledge.service.db2.DBKnowledgeBase.findOrCreateItem(DBKnowledgeBase.java:5043) at com.top_logic.knowledge.service.db2.MonomorphicSearch$FullObjectResult.findNext(MonomorphicSearch.java:321) at com.top_logic.knowledge.service.db2.MonomorphicSearch$FullObjectResult.getAll(MonomorphicSearch.java:300) at com.top_logic.knowledge.service.db2.MonomorphicSearch.search(MonomorphicSearch.java:72) at com.top_logic.knowledge.search.AbstractCompiledQuery.search(AbstractCompiledQuery.java:69) at com.top_logic.knowledge.service.db2.AssociationQueryImpl.search(AssociationQueryImpl.java:136) at com.top_logic.knowledge.service.db2.AssociationCache.query(AssociationCache.java:316) at com.top_logic.knowledge.service.db2.AssociationCache.getOrCreateGlobalCache(AssociationCache.java:122) at com.top_logic.knowledge.service.db2.AssociationCache.lookup(AssociationCache.java:67) at com.top_logic.knowledge.service.db2.AssociationCache.getLinksDirect(AssociationCache.java:53) at com.top_logic.knowledge.service.db2.DBKnowledgeBase.resolveLinks(DBKnowledgeBase.java:4114) at com.top_logic.knowledge.service.AssociationQueryUtil.resolveWrappers(AssociationQueryUtil.java:53) at com.top_logic.knowledge.wrap.AbstractWrapper.resolveWrappersTyped(AbstractWrapper.java:906) at com.top_logic.knowledge.wrap.AbstractWrapper.resolveWrappers(AbstractWrapper.java:887) at com.top_logic.element.meta.kbbased.storage.SingletonLinkStorage.getReferencedTLObject(SingletonLinkStorage.java:91) at com.top_logic.element.meta.kbbased.storage.TLItemStorage.getAttributeValue(TLItemStorage.java:82) at com.top_logic.element.meta.AttributeOperations.getAttributeValue(AttributeOperations.java:223) at com.top_logic.element.meta.kbbased.PersistentObjectImpl.getValue(PersistentObjectImpl.java:153) at com.top_logic.element.meta.kbbased.PersistentObjectImpl.generateFullText(PersistentObjectImpl.java:276) at com.top_logic.element.meta.kbbased.AttributedWrapper.generateFullText(AttributedWrapper.java:133) at com.top_logic.knowledge.indexing.DefaultIndexingService$WrapperContentObject.getContent(DefaultIndexingService.java:460) at com.top_logic.knowledge.indexing.lucene.LuceneThread.getContent(LuceneThread.java:491) ... 14 more
Test
TestDBKnowledgeBaseCache.java