diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/IndexController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/IndexController.java index 2c100a140..590f109fe 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/IndexController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/IndexController.java @@ -127,6 +127,13 @@ public class IndexController extends FreemarkerHttpServlet { switch (RequestType.fromRequest(vreq)) { case REBUILD: requestRebuild(); + try { + // Pause, giving a chance to start the task queue. + Thread.sleep(1000); + } catch (InterruptedException e) { + // Don't care, so pass it along. + Thread.currentThread().interrupt(); + } return new RedirectResponseValues(PAGE_URL); default: return showDisplay(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderListBasic.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderListBasic.java index f29e60651..21c41bd31 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderListBasic.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderListBasic.java @@ -47,6 +47,11 @@ public class IndexingUriFinderListBasic implements IndexingUriFinderList { Set uris = new HashSet<>(); for (IndexingUriFinder uriFinder : finders) { List additions = uriFinder.findAdditionalURIsToIndex(stmt); + if (log.isDebugEnabled() && !additions.isEmpty()) { + log.debug(uriFinder + " found " + additions.size() + + " additions " + additions + " for this statement " + + stmt); + } for (String addition : additions) { if (addition == null) { log.warn("Finder " + uriFinder + " returned a null URI."); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/RebuildIndexTask.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/RebuildIndexTask.java index 77af681cb..3f1677b0c 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/RebuildIndexTask.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/RebuildIndexTask.java @@ -56,7 +56,7 @@ public class RebuildIndexTask implements Task { @Override public SearchIndexerStatus getStatus() { - return impl == null ? null : impl.getStatus(); + return impl == null ? SearchIndexerStatus.idle() : impl.getStatus(); } @Override diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateStatementsTask.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateStatementsTask.java index 50c96e7b7..550d9ab0e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateStatementsTask.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateStatementsTask.java @@ -69,7 +69,7 @@ public class UpdateStatementsTask implements Task { } @Override public SearchIndexerStatus getStatus() { - return impl == null ? null : impl.getStatus(); + return impl == null ? SearchIndexerStatus.idle() : impl.getStatus(); } @Override diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateUrisTask.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateUrisTask.java index 123610910..5c1f2f0d9 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateUrisTask.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateUrisTask.java @@ -62,10 +62,13 @@ public class UpdateUrisTask implements Task { this.uris = new HashSet<>(uris); } - static void runNow(Collection uris, SearchIndexExcluderList excluders, DocumentModifierList modifiers, IndividualDao indDao, ListenerList listeners, WorkerThreadPool pool) { - UpdateUrisTaskImpl impl = new UpdateUrisTaskImpl(uris, excluders, modifiers, indDao, listeners, pool); - impl.run(); - } + static void runNow(Collection uris, + SearchIndexExcluderList excluders, DocumentModifierList modifiers, + IndividualDao indDao, ListenerList listeners, WorkerThreadPool pool) { + UpdateUrisTaskImpl impl = new UpdateUrisTaskImpl(uris, excluders, + modifiers, indDao, listeners, pool); + impl.run(); + } @Override public void run() { @@ -75,11 +78,7 @@ public class UpdateUrisTask implements Task { @Override public SearchIndexerStatus getStatus() { - if (impl != null) { - return impl.getStatus(); - } - - return new SearchIndexerStatus(PROCESSING_URIS, since, new UriCounts(0, 0, 0, uris.size(), uris.size())); + return (impl == null) ? SearchIndexerStatus.idle() : impl.getStatus(); } @Override @@ -113,8 +112,12 @@ public class UpdateUrisTask implements Task { this.searchEngine = ApplicationUtils.instance().getSearchEngine(); } - public UpdateUrisTaskImpl(Collection uris, SearchIndexExcluderList excluders, DocumentModifierList modifiers, IndividualDao indDao, ListenerList listeners, WorkerThreadPool pool) { - this.uris = uris; + public UpdateUrisTaskImpl(Collection uris, + SearchIndexExcluderList excluders, + DocumentModifierList modifiers, IndividualDao indDao, + ListenerList listeners, WorkerThreadPool pool) { + log.debug("Updating " + uris.size() + " uris."); + this.uris = uris; this.excluders = excluders; this.modifiers = modifiers; this.indDao = indDao;