Fehlerbehebung
Wichtig
#26791
Knowlege-Base: Fehler beim Update von Gültigkeits-Zeiträumen beim Nachladen von Objektdaten
Ein tl:KnowledgeItem enthält Daten für mehrere Zeiträume. Jeder Zeitraum spiegelt hierbei ein Zeile in der Datenbank wieder. Jetzt ist es zu einem Problem mit überlappenden Zeiträumen gekommen.
Aufgetreten in Tests von tl-demo. Beim Indizieren eines Objektes crasht der Zugriff auf ein Objekt, das vom Lucene-Thread geladen werden soll:
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