From 87c0b8f29ae3c4538a713ea2aa7a34f3fa573491 Mon Sep 17 00:00:00 2001 From: Sanne Grinovero Date: Fri, 9 Jan 2015 13:51:26 +0000 Subject: [PATCH] HSEARCH-1769 Log worklist on Async work as well --- .../backend/impl/lucene/AsyncWorkProcessor.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/engine/src/main/java/org/hibernate/search/backend/impl/lucene/AsyncWorkProcessor.java b/engine/src/main/java/org/hibernate/search/backend/impl/lucene/AsyncWorkProcessor.java index 320688d2ce5..79852f985d1 100644 --- a/engine/src/main/java/org/hibernate/search/backend/impl/lucene/AsyncWorkProcessor.java +++ b/engine/src/main/java/org/hibernate/search/backend/impl/lucene/AsyncWorkProcessor.java @@ -6,10 +6,14 @@ */ package org.hibernate.search.backend.impl.lucene; +import java.io.PrintWriter; +import java.io.StringWriter; import java.util.List; import org.hibernate.search.backend.IndexingMonitor; import org.hibernate.search.backend.LuceneWork; +import org.hibernate.search.util.logging.impl.Log; +import org.hibernate.search.util.logging.impl.LoggerFactory; /** @@ -21,6 +25,8 @@ */ final class AsyncWorkProcessor implements WorkProcessor { + private static final Log log = LoggerFactory.make(); + private volatile LuceneBackendResources resources; public AsyncWorkProcessor(LuceneBackendResources resources) { @@ -34,6 +40,17 @@ public void shutdown() { @Override public void submit(List workList, IndexingMonitor monitor) { + if ( workList.isEmpty() ) { + // only log this error at trace level until we properly fix HSEARCH-1769 + if ( log.isTraceEnabled() ) { + StringWriter stackTraceStringWriter = new StringWriter(); + PrintWriter stackTracePrintWriter = new PrintWriter( stackTraceStringWriter ); + new Throwable().printStackTrace( stackTracePrintWriter ); + log.workListShouldNeverBeEmpty( stackTraceStringWriter.toString() ); + } + // skip that work + return; + } LuceneBackendQueueTask luceneBackendQueueProcessor = new LuceneBackendQueueTask( workList, resources,