Revert "[ENGINE] Fail engine if Lucene commit fails"

This reverts commit dda72428484b4a5d79b6d9c97d56365851a79543.
This commit is contained in:
Simon Willnauer 2015-01-31 23:48:34 +01:00
parent dda7242848
commit 42bb5deca2

View File

@ -236,7 +236,7 @@ public class InternalEngine implements Engine {
} }
if (mustCommitTranslogId) { // translog id is not in the metadata - fix this inconsistency some code relies on this and old indices might not have it. if (mustCommitTranslogId) { // translog id is not in the metadata - fix this inconsistency some code relies on this and old indices might not have it.
indexWriter.setCommitData(Collections.singletonMap(Translog.TRANSLOG_ID_KEY, Long.toString(translogId))); indexWriter.setCommitData(Collections.singletonMap(Translog.TRANSLOG_ID_KEY, Long.toString(translogId)));
commitIndexWriter(indexWriter); indexWriter.commit();
} }
searcherManager = buildSearchManager(indexWriter); searcherManager = buildSearchManager(indexWriter);
lastCommittedSegmentInfos = store.readLastCommittedSegmentsInfo(); lastCommittedSegmentInfos = store.readLastCommittedSegmentsInfo();
@ -717,17 +717,6 @@ public class InternalEngine implements Engine {
versionMapRefreshPending.set(false); versionMapRefreshPending.set(false);
} }
private void commitIndexWriter(IndexWriter writer) throws IOException {
try {
writer.commit();
} catch (AlreadyClosedException ex) {
throw ex;
} catch (Throwable ex) {
failEngine("lucene commit failed", ex);
throw ex;
}
}
@Override @Override
public void flush(FlushType type, boolean force, boolean waitIfOngoing) throws EngineException { public void flush(FlushType type, boolean force, boolean waitIfOngoing) throws EngineException {
ensureOpen(); ensureOpen();
@ -754,7 +743,7 @@ public class InternalEngine implements Engine {
{ // commit and close the current writer - we write the current tanslog ID just in case { // commit and close the current writer - we write the current tanslog ID just in case
final long translogId = translog.currentId(); final long translogId = translog.currentId();
indexWriter.setCommitData(Collections.singletonMap(Translog.TRANSLOG_ID_KEY, Long.toString(translogId))); indexWriter.setCommitData(Collections.singletonMap(Translog.TRANSLOG_ID_KEY, Long.toString(translogId)));
commitIndexWriter(indexWriter); indexWriter.commit();
indexWriter.rollback(); indexWriter.rollback();
} }
indexWriter = createWriter(); indexWriter = createWriter();
@ -764,7 +753,7 @@ public class InternalEngine implements Engine {
flushNeeded = false; flushNeeded = false;
long translogId = translogIdGenerator.incrementAndGet(); long translogId = translogIdGenerator.incrementAndGet();
indexWriter.setCommitData(Collections.singletonMap(Translog.TRANSLOG_ID_KEY, Long.toString(translogId))); indexWriter.setCommitData(Collections.singletonMap(Translog.TRANSLOG_ID_KEY, Long.toString(translogId)));
commitIndexWriter(indexWriter); indexWriter.commit();
translog.newTranslog(translogId); translog.newTranslog(translogId);
} }
@ -797,7 +786,7 @@ public class InternalEngine implements Engine {
long translogId = translogIdGenerator.incrementAndGet(); long translogId = translogIdGenerator.incrementAndGet();
translog.newTransientTranslog(translogId); translog.newTransientTranslog(translogId);
indexWriter.setCommitData(Collections.singletonMap(Translog.TRANSLOG_ID_KEY, Long.toString(translogId))); indexWriter.setCommitData(Collections.singletonMap(Translog.TRANSLOG_ID_KEY, Long.toString(translogId)));
commitIndexWriter(indexWriter); indexWriter.commit();
// we need to refresh in order to clear older version values // we need to refresh in order to clear older version values
refresh("version_table_flush"); refresh("version_table_flush");
// we need to move transient to current only after we refresh // we need to move transient to current only after we refresh
@ -834,7 +823,7 @@ public class InternalEngine implements Engine {
try { try {
long translogId = translog.currentId(); long translogId = translog.currentId();
indexWriter.setCommitData(Collections.singletonMap(Translog.TRANSLOG_ID_KEY, Long.toString(translogId))); indexWriter.setCommitData(Collections.singletonMap(Translog.TRANSLOG_ID_KEY, Long.toString(translogId)));
commitIndexWriter(indexWriter); indexWriter.commit();
} catch (Throwable e) { } catch (Throwable e) {
throw new FlushFailedEngineException(shardId, e); throw new FlushFailedEngineException(shardId, e);
} }