manager.maybeRefreshBlocking(); } catch (IOException ioe) { throw new RuntimeException(ioe);
referenceManager.maybeRefreshBlocking(); } finally { store.decRef();
manager.maybeRefreshBlocking(); } catch (IOException ioe) { throw new RuntimeException(ioe);
manager.maybeRefreshBlocking(); } catch (IOException ioe) { throw new RuntimeException(ioe);
manager.maybeRefreshBlocking(); } catch (IOException ioe) { throw new RuntimeException(ioe);
public void release(IndexWriter writer) throws IOException { if (writer != null) { try { if (autoFlush) { writer.flush(); } if (autoCommit) { writer.commit(); } } catch (Exception e) { this.writer = null; } if (this.writer != null && this.writer.isOpen()) { if (searcherManager != null) { searcherManager.maybeRefreshBlocking(); } } else { synchronized (lock) { this.writer = null; if (searcherManager != null) { searcherManager.close(); searcherManager = null; } } } } }
private static final class DeletionStrategy { // of a rare double delete final boolean deleteFromLucene; final boolean currentlyDeleted; final long seqNoOfDeletion; final long versionOfDeletion; final Optional<DeleteResult> earlyResultOnPreflightError; private DeletionStrategy(boolean deleteFromLucene, boolean currentlyDeleted, long seqNoOfDeletion, long versionOfDeletion, DeleteResult earlyResultOnPreflightError) { assert (deleteFromLucene && earlyResultOnPreflightError != null) == false : "can only delete from lucene or have a preflight result but not both." + "deleteFromLucene: " + deleteFromLucene + " earlyResultOnPreFlightError:" + earlyResultOnPreflightError; this.deleteFromLucene = deleteFromLucene; this.currentlyDeleted = currentlyDeleted; this.seqNoOfDeletion = seqNoOfDeletion; this.versionOfDeletion = versionOfDeletion; this.earlyResultOnPreflightError = earlyResultOnPreflightError == null ? Optional.empty() : Optional.of(earlyResultOnPreflightError); } static DeletionStrategy skipDueToVersionConflict( VersionConflictEngineException e, long currentVersion, long term, boolean currentlyDeleted) { final long unassignedSeqNo = SequenceNumbers.UNASSIGNED_SEQ_NO; final DeleteResult deleteResult = new DeleteResult(e, currentVersion, term, unassignedSeqNo, currentlyDeleted == false); return new DeletionStrategy(false, currentlyDeleted, unassignedSeqNo, Versions.NOT_FOUND, deleteResult); }
referenceManager.maybeRefreshBlocking(); } finally { store.decRef();