Index: make sure that -k and -K always have effect. Set explicit reason when failure is due to interruption
This commit is contained in:
parent
113b7db12e
commit
642ea759bc
@ -123,7 +123,11 @@ bool ConfIndexer::index(bool resetbefore, ixType typestorun, int flags)
|
|||||||
deleteZ(m_fsindexer);
|
deleteZ(m_fsindexer);
|
||||||
m_fsindexer = new FsIndexer(m_config, &m_db, m_updater);
|
m_fsindexer = new FsIndexer(m_config, &m_db, m_updater);
|
||||||
if (!m_fsindexer || !m_fsindexer->index(flags)) {
|
if (!m_fsindexer || !m_fsindexer->index(flags)) {
|
||||||
addIdxReason("indexer", "Index creation failed. See log");
|
if (stopindexing) {
|
||||||
|
addIdxReason("indexer", "Indexing was interrupted.");
|
||||||
|
} else {
|
||||||
|
addIdxReason("indexer", "Index creation failed. See log.");
|
||||||
|
}
|
||||||
m_db.close();
|
m_db.close();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -690,19 +690,28 @@ int main(int argc, char **argv)
|
|||||||
bool rezero((op_flags & OPT_z) != 0);
|
bool rezero((op_flags & OPT_z) != 0);
|
||||||
bool inPlaceReset((op_flags & OPT_Z) != 0);
|
bool inPlaceReset((op_flags & OPT_Z) != 0);
|
||||||
|
|
||||||
// We do not retry previously failed files by default. If -k is
|
// The default is not to retry previously failed files by default.
|
||||||
// set, we do. If the checker script says so, we do too.
|
// If -k is set, we do.
|
||||||
|
// If the checker script says so, we do too, except if -K is set.
|
||||||
int indexerFlags = ConfIndexer::IxFNoRetryFailed;
|
int indexerFlags = ConfIndexer::IxFNoRetryFailed;
|
||||||
if (op_flags & OPT_k) {
|
if (op_flags & OPT_k) {
|
||||||
indexerFlags &= ~ConfIndexer::IxFNoRetryFailed;
|
indexerFlags &= ~ConfIndexer::IxFNoRetryFailed;
|
||||||
} else {
|
} else {
|
||||||
if (checkRetryFailed(config, false)) {
|
if (op_flags & OPT_K) {
|
||||||
LOGDEB("recollindex: files in error will be retried\n");
|
indexerFlags |= ConfIndexer::IxFNoRetryFailed;
|
||||||
indexerFlags &= ~ConfIndexer::IxFNoRetryFailed;
|
|
||||||
} else {
|
} else {
|
||||||
LOGDEB("recollindex: files in error will not be retried\n");
|
if (checkRetryFailed(config, false)) {
|
||||||
|
indexerFlags &= ~ConfIndexer::IxFNoRetryFailed;
|
||||||
|
} else {
|
||||||
|
indexerFlags |= ConfIndexer::IxFNoRetryFailed;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (indexerFlags & ConfIndexer::IxFNoRetryFailed) {
|
||||||
|
LOGDEB("recollindex: files in error will not be retried\n");
|
||||||
|
} else {
|
||||||
|
LOGDEB("recollindex: files in error will be retried\n");
|
||||||
|
}
|
||||||
|
|
||||||
Pidfile pidfile(config->getPidfile());
|
Pidfile pidfile(config->getPidfile());
|
||||||
updater = new MyUpdater(config);
|
updater = new MyUpdater(config);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user