gchq/stroom

Emptied Dictionary causing ERROR in Rule

Closed this issue · 1 comments

Rule was executing correctly with a populated Dictionary using a Field in dictionary "UUID"

Dictionary was emptied, but Rule continued to be scheduled/run at regular intervals

Each Run resulted in the following ERROR in the log, ERROR suggests that Dictionary/UUID does not exist, but it is incorrect.

"Dictionary "DocRef{type='Dictionary', uuid='xxxxxxxxxxxxxxxxxxxx', name='xxxxxxxxx'}" not found 
stroom.search.impl.SearchException: Dictionary "DocRef{type='Dictionary', uuid='xxxxxxxxxxxxxxxxxxx', name='xxxxxxxxxx'}" not found
	at stroom.index.lucene553.SearchExpressionQueryBuilder.loadWords(SearchExpressionQueryBuilder.java:775)
	at stroom.index.lucene553.SearchExpressionQueryBuilder.getDictionary(SearchExpressionQueryBuilder.java:741)
	at stroom.index.lucene553.SearchExpressionQueryBuilder.getTermQuery(SearchExpressionQueryBuilder.java:601)
	at stroom.index.lucene553.SearchExpressionQueryBuilder.getQuery(SearchExpressionQueryBuilder.java:132)
	at stroom.index.lucene553.SearchExpressionQueryBuilder.getQuery(SearchExpressionQueryBuilder.java:139)
	at stroom.index.lucene553.SearchExpressionQueryBuilder.getQuery(SearchExpressionQueryBuilder.java:139)
	at stroom.index.lucene553.SearchExpressionQueryBuilder.getQuery(SearchExpressionQueryBuilder.java:139)
	at stroom.index.lucene553.SearchExpressionQueryBuilder.buildQuery(SearchExpressionQueryBuilder.java:93)
	at stroom.index.lucene553.Lucene553ShardSearcher.<init>(Lucene553ShardSearcher.java:104)
	at stroom.index.lucene553.Lucene553ShardSearcherFactory.create(Lucene553ShardSearcherFactory.java:62)
	at stroom.index.lucene553.Lucene553Provider.createLuceneShardSearcher(Lucene553Provider.java:44)
	at stroom.search.impl.LuceneSearcher.lambda$search$1(LuceneSearcher.java:148)
	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
	at stroom.search.impl.LuceneSearcher.lambda$search$2(LuceneSearcher.java:146)
	at stroom.task.impl.TaskContextFactoryImpl.lambda$createFromConsumer$0(TaskContextFactoryImpl.java:181)
	at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$2(TaskContextFactoryImpl.java:253)
	at stroom.util.logging.LocationAwareLambdaLogger.logDurationIfDebugEnabled(LocationAwareLambdaLogger.java:307)
	at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$4(TaskContextFactoryImpl.java:253)
	at stroom.util.pipeline.scope.PipelineScopeRunnable.scopeResult(PipelineScopeRunnable.java:39)
	at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$5(TaskContextFactoryImpl.java:250)
	at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$6(TaskContextFactoryImpl.java:262)
	at stroom.security.impl.SecurityContextImpl.useAsReadResult(SecurityContextImpl.java:406)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:50)
	at jdk.proxy2/jdk.proxy2.$Proxy122.useAsReadResult(Unknown Source)
	at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$7(TaskContextFactoryImpl.java:262)
	at stroom.security.impl.SecurityContextImpl.asUserResult(SecurityContextImpl.java:338)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:50)
	at jdk.proxy2/jdk.proxy2.$Proxy122.asUserResult(Unknown Source)
	at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$11(TaskContextFactoryImpl.java:260)
	at stroom.search.impl.LuceneSearcher.lambda$search$3(LuceneSearcher.java:173)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)

Fixed in > 7.4.5