InfluxDB defective after system crash

On our evaluation of InfluxDB we are also testing the data integrity after a power loss (i.e. PC shutdown). For this we use an InfluxDB with default configuration and write data with a rate of 7000 points/sec on a virtual machine. After 5 minutes wo stop the VM hard (like a PC crash), restart it and check how much data is lost. Then we restart the test.

After four such iterations the DB was not usable any more, when trying to write data the message “Error while writing values to influx:[shard 1] error opening memory map for file C:\Users\etmtst.influxdb\data\testdb\autogen\1\000000162-000000001.tsm: indirectIndex: not enough data for min time” was shown and it looked like the DB was empty:

influxdb-1.5.1-1\influx.exe
Connected to http://localhost:8086 version 1.5.1
InfluxDB shell version: 1.5.1

use testdb
Using database testdb
select * from _EVENT
show measurements
show series

Are there any options to avoid loosing data after system failures (besides a backup)?
Thank you,
Ewald

Ewald,

Thanks for this information. We do not support Windows as a production environment - and there are known issues related to windows and bad fsync behavior. You can see some of that discussion in this issue: thousands of .tsm files created with "invalid argument" error, disk filled · Issue #9630 · influxdata/influxdb · GitHub.

That said, there have been some recent improvements to gracefully handling corrupted TSM files. Ben has been doing that work and will follow up here shortly.

Ryan.

Hi Ewald,

We have a fix to more gracefully recover from partial TSM file writes that will be released in 1.5.3:

With regards to avoiding data loss in the event of a failure, you would need to run a cluster of InfluxDB Enterprise nodes.