|
|
|
@ -243,13 +243,13 @@ func indexTransactions(db ethdb.Database, from uint64, to uint64, interrupt chan |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// If there exists uncommitted data, flush them.
|
|
|
|
|
if batch.ValueSize() > 0 { |
|
|
|
|
WriteTxIndexTail(batch, lastNum) // Also write the tail there
|
|
|
|
|
if err := batch.Write(); err != nil { |
|
|
|
|
log.Crit("Failed writing batch to db", "error", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
// Flush the new indexing tail and the last committed data. It can also happen
|
|
|
|
|
// that the last batch is empty because nothing to index, but the tail has to
|
|
|
|
|
// be flushed anyway.
|
|
|
|
|
WriteTxIndexTail(batch, lastNum) |
|
|
|
|
if err := batch.Write(); err != nil { |
|
|
|
|
log.Crit("Failed writing batch to db", "error", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
select { |
|
|
|
|
case <-interrupt: |
|
|
|
@ -334,13 +334,13 @@ func unindexTransactions(db ethdb.Database, from uint64, to uint64, interrupt ch |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// Commit the last batch if there exists uncommitted data
|
|
|
|
|
if batch.ValueSize() > 0 { |
|
|
|
|
WriteTxIndexTail(batch, nextNum) |
|
|
|
|
if err := batch.Write(); err != nil { |
|
|
|
|
log.Crit("Failed writing batch to db", "error", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
// Flush the new indexing tail and the last committed data. It can also happen
|
|
|
|
|
// that the last batch is empty because nothing to unindex, but the tail has to
|
|
|
|
|
// be flushed anyway.
|
|
|
|
|
WriteTxIndexTail(batch, nextNum) |
|
|
|
|
if err := batch.Write(); err != nil { |
|
|
|
|
log.Crit("Failed writing batch to db", "error", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
select { |
|
|
|
|
case <-interrupt: |
|
|
|
|