private void applyChangesets(Iterable<Changeset> changesets) { Iterable<LuceneWork> changesetList = CollectionHelper.flatten( changesets ); try { LuceneBackendQueueTask luceneBackendQueueTask = new LuceneBackendQueueTask( changesetList, resources, null ); luceneBackendQueueTask.run(); } finally { for ( Changeset changeset : changesets ) { changeset.markProcessed(); } } } }
@Override public void run() { modificationLock.lock(); try { applyUpdates(); } catch (InterruptedException e) { log.interruptedWhileWaitingForIndexActivity( e ); Thread.currentThread().interrupt(); handleException( e ); } catch (Exception e) { log.backendError( e ); handleException( e ); } finally { modificationLock.unlock(); } }
@Override public void submit(List<LuceneWork> 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, monitor ); resources.submitToAsyncIndexingExecutor( luceneBackendQueueProcessor ); }
for ( LuceneWork luceneWork : workList ) { currentOperation = luceneWork; performWork( luceneWork, resources, delegate, monitor ); errorContextBuilder.workCompleted( currentOperation );
@Override public void submit(List<LuceneWork> 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, monitor ); resources.submitToAsyncIndexingExecutor( luceneBackendQueueProcessor ); }
for ( LuceneWork luceneWork : workList ) { currentOperation = luceneWork; performWork( luceneWork, resources, delegate, monitor ); errorContextBuilder.workCompleted( currentOperation );
private void applyChangesets(Iterable<Changeset> changesets) { Iterable<LuceneWork> changesetList = CollectionHelper.flatten( changesets ); try { LuceneBackendQueueTask luceneBackendQueueTask = new LuceneBackendQueueTask( changesetList, resources, null ); luceneBackendQueueTask.run(); } finally { for ( Changeset changeset : changesets ) { changeset.markProcessed(); } } } }
@Override public void run() { modificationLock.lock(); try { applyUpdates(); } catch (InterruptedException e) { log.interruptedWhileWaitingForIndexActivity( resources.getIndexName(), e ); Thread.currentThread().interrupt(); handleException( e ); } catch (Exception e) { log.backendError( e ); handleException( e ); } finally { modificationLock.unlock(); } }