Examples of ErrorContextBuilder


Examples of org.hibernate.search.exception.impl.ErrorContextBuilder

      modificationLock.unlock();
    }
  }

  private void handleException(Exception e) {
    ErrorContextBuilder builder = new ErrorContextBuilder();
    builder.allWorkToBeDone( workList );
    builder.errorThatOccurred( e );
    resources.getErrorHandler().handle( builder.createErrorContext() );
  }
View Full Code Here

Examples of org.hibernate.search.exception.impl.ErrorContextBuilder

   * @throws InterruptedException
   */
  private void applyUpdates() throws InterruptedException, ExecutionException {
    AbstractWorkspaceImpl workspace = resources.getWorkspace();

    ErrorContextBuilder errorContextBuilder = new ErrorContextBuilder();
    errorContextBuilder.allWorkToBeDone( workList );

    IndexWriter indexWriter = workspace.getIndexWriter( errorContextBuilder );
    if ( indexWriter == null ) {
      log.cannotOpenIndexWriterCausePreviousError();
      return;
    }

    boolean taskExecutionSuccessful = true;

    try {
      if ( workList.size() == 1 ) {
        taskExecutionSuccessful = runSingleTask( workList.get( 0 ), indexWriter, errorContextBuilder );
      }
      else {
        taskExecutionSuccessful = runMultipleTasks( indexWriter, errorContextBuilder );
      }
      if ( !taskExecutionSuccessful ) {
        resources.getErrorHandler().handle( errorContextBuilder.createErrorContext() );
      }
      else {
        workspace.optimizerPhase();
      }
    }
View Full Code Here

Examples of org.hibernate.search.exception.impl.ErrorContextBuilder

      modificationLock.unlock();
    }
  }

  private void handleException(Exception e) {
    ErrorContextBuilder builder = new ErrorContextBuilder();
    builder.allWorkToBeDone( queue );
    builder.errorThatOccurred( e );
    resources.getErrorHandler().handle( builder.createErrorContext() );
  }
View Full Code Here

Examples of org.hibernate.search.exception.impl.ErrorContextBuilder

   * @throws InterruptedException
   */
  private void applyUpdates() throws InterruptedException, ExecutionException {
    AbstractWorkspaceImpl workspace = resources.getWorkspace();
   
    ErrorContextBuilder errorContextBuilder = new ErrorContextBuilder();
    errorContextBuilder.allWorkToBeDone( queue );
   
    IndexWriter indexWriter = workspace.getIndexWriter( errorContextBuilder );
    if ( indexWriter == null ) {
      log.cannotOpenIndexWriterCausePreviousError();
      return;
    }
    LinkedList<LuceneWork> failedUpdates = null;
    try {
      ExecutorService executor = resources.getWorkersExecutor();
      int queueSize = queue.size();
      Future[] submittedTasks = new Future[ queueSize ];
      for ( int i = 0; i < queueSize; i++ ) {
        SingleTaskRunnable task = new SingleTaskRunnable( queue.get( i ), resources, indexWriter, monitor );
        submittedTasks[i] = executor.submit( task );
      }
      // now wait for all tasks being completed before releasing our lock
      // (this thread waits even in async backend mode)
      for ( int i = 0; i < queueSize; i++ ) {
        Future task = submittedTasks[i];
        try {
          task.get();
          errorContextBuilder.workCompleted( queue.get( i ) );
        }
        catch (ExecutionException e) {
          if ( failedUpdates == null ) {
            failedUpdates = new LinkedList<LuceneWork>();
          }
          failedUpdates.add( queue.get( i ) );
          errorContextBuilder.errorThatOccurred( e.getCause() );
        }
      }
      if ( failedUpdates != null ) {
        errorContextBuilder.addAllWorkThatFailed( failedUpdates );
        resources.getErrorHandler().handle( errorContextBuilder.createErrorContext() );
      }
      else {
        workspace.optimizerPhase();
      }
    }
View Full Code Here

Examples of org.hibernate.search.exception.impl.ErrorContextBuilder

    }
  }

  private void handleException(Exception e) {
    log.backendError( e );
    ErrorContextBuilder builder = new ErrorContextBuilder();
    builder.allWorkToBeDone( queue );
    builder.errorThatOccurred( e );
    resources.getErrorHandler().handle( builder.createErrorContext() );
  }
View Full Code Here

Examples of org.hibernate.search.exception.impl.ErrorContextBuilder

   * @throws InterruptedException
   */
  private void applyUpdates() throws InterruptedException, ExecutionException {
    AbstractWorkspaceImpl workspace = resources.getWorkspace();
   
    ErrorContextBuilder errorContextBuilder = new ErrorContextBuilder();
    errorContextBuilder.allWorkToBeDone( queue );
   
    IndexWriter indexWriter = workspace.getIndexWriter( errorContextBuilder );
    if ( indexWriter == null ) {
      log.cannotOpenIndexWriterCausePreviousError();
      return;
    }
    boolean someFailureHappened = false;
    try {
      ExecutorService executor = resources.getWorkersExecutor();
      int queueSize = queue.size();
      Future[] submittedTasks = new Future[ queueSize ];
      for ( int i = 0; i < queueSize; i++ ) {
        SingleTaskRunnable task = new SingleTaskRunnable( queue.get( i ), resources, indexWriter );
        submittedTasks[i] = executor.submit( task );
      }
      // now wait for all tasks being completed before releasing our lock
      // (this thread waits even in async backend mode)
      LinkedList<LuceneWork> failedUpdates = new LinkedList<LuceneWork>();
      for ( int i = 0; i < queueSize; i++ ) {
        Future task = submittedTasks[i];
        try {
          task.get();
          errorContextBuilder.workCompleted( queue.get( i ) );
        }
        catch (ExecutionException e) {
          someFailureHappened = true;
          failedUpdates.add( queue.get( i ) );
          errorContextBuilder.errorThatOccurred( e.getCause() );
        }
      }
      if ( someFailureHappened ) {
        errorContextBuilder.addAllWorkThatFailed( failedUpdates );
        resources.getErrorHandler().handle( errorContextBuilder.createErrorContext() );
      }
    }
    finally {
      resources.getWorkspace().afterTransactionApplied( someFailureHappened );
    }
View Full Code Here

Examples of org.hibernate.search.exception.impl.ErrorContextBuilder

  }

  private void applyUpdates(List<LuceneWork> workList, IndexingMonitor monitor, boolean streaming) throws InterruptedException, ExecutionException {
    DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService();

    ErrorContextBuilder errorContextBuilder = new ErrorContextBuilder();
    errorContextBuilder.allWorkToBeDone(workList);

    IndexWriter indexWriter = workspace.getIndexWriter(errorContextBuilder);
    if (indexWriter == null) {
      LOG.log(Level.SEVERE, "Cannot open index writer");
      return;
    }
    boolean someFailureHappened = false;
    try {
      List<LuceneWork> failedWorkds = new ArrayList<LuceneWork>();

      int queueSize = workList.size();
      LOG.info("Performing " + queueSize + " lucene works");

      for (int i = 0; i < queueSize; i++) {
        LuceneWork work = workList.get(i);
        try {
          long time = 0;
          if (LOG.isLoggable(Level.INFO)) {
            String entity = work.getEntityClass().toString();
            LOG.info("Performing lucene work for " + entity);
            time = System.currentTimeMillis();
          }

          Transaction transaction = datastoreService.beginTransaction();
          try {
            work.getWorkDelegate(getVisitor()).performWork(work, indexWriter, monitor);
            transaction.commit();
          } finally {
            if (transaction.isActive())
              transaction.rollback();
          }

          if (LOG.isLoggable(Level.INFO)) {
            String entity = work.getEntityClass().toString();
            LOG.info("Performed lucene work for " + entity + " in " + (System.currentTimeMillis() - time) + " ms");
          }
        } catch (Exception e) {
          someFailureHappened = true;
          errorContextBuilder.errorThatOccurred(e.getCause());
          failedWorkds.add(work);
        }
      }

      if (someFailureHappened) {
        errorContextBuilder.addAllWorkThatFailed(failedWorkds);
        getErrorHandler().handle(errorContextBuilder.createErrorContext());
      } else {
        if (!streaming) {
          workspace.optimizerPhase();
        }
      }
View Full Code Here

Examples of org.hibernate.search.exception.impl.ErrorContextBuilder

  private void doWork(List<LuceneWork> workList, IndexingMonitor monitor, boolean streaming) {
    applyUpdates(workList, monitor, streaming);
  }

  private void applyUpdates(List<LuceneWork> workList, IndexingMonitor monitor, boolean streaming) {
    ErrorContextBuilder errorContextBuilder = new ErrorContextBuilder();
    errorContextBuilder.allWorkToBeDone(workList);
   
    LuceneWorkSerializer serializer = indexManager.getSerializer();
   
    DirectoryDAO directoryDAO = new DirectoryDAO();
    WorkListDAO workListDAO = new WorkListDAO();
   
    Directory directory = directoryDAO.findByName(indexManager.getIndexName());

    boolean someFailureHappened = false;
    try {
     
      try {
        workListDAO.create(directory, serializer.toSerializedModel(workList));
        LOG.info("Scheduled " + workList.size() + " works in " + directory.getName() + " directory to be performed in future");
      } catch (Exception e) {
        someFailureHappened = true;
        errorContextBuilder.errorThatOccurred(e.getCause());
      }
     
      if (someFailureHappened) {
        errorContextBuilder.addAllWorkThatFailed(workList);
        getErrorHandler().handle(errorContextBuilder.createErrorContext());
      } else {
        if (!streaming) {
          workspace.optimizerPhase();
        }
      }
View Full Code Here

Examples of org.hibernate.search.exception.impl.ErrorContextBuilder

      }
      //this Runnable splits tasks in more runnables and then runs them:
      processors.runAll( sync );
    } catch ( Exception e ) {
      log.error( "Error in backend", e )
      ErrorContextBuilder builder = new ErrorContextBuilder();
      builder.errorThatOccurred( e );
      errorHandler.handle( builder.createErrorContext() );
    }
  }
View Full Code Here

Examples of org.hibernate.search.exception.impl.ErrorContextBuilder

    }
  }

  private void handleException(Exception e) {
    log.backendError( e );
    ErrorContextBuilder builder = new ErrorContextBuilder();
    builder.allWorkToBeDone( queue );
    builder.errorThatOccurred( e );
    resources.getErrorHandler().handle( builder.createErrorContext() );
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.