influxdb/tsdb/engine/tsm1
Jason Wilder f251db013c Avoid stat syscall when planning compactions
When the planner runs, it needs to determine if any files have tombstones.
The code to determine if a tombstone existed involved stating the .tombstone
file.  Since the planner runs very frequently when there are many shards, this
causea a lot of system calls that are unnecessary.

Instead, cache the results of the stats calls and only refresh them when we
haven't checked at least once or we write new tombstone data.

This also caches the results of the TSMReader.Stats call to avoid creating
garbage.
2016-10-03 08:36:05 -06:00
..
DESIGN.md doc: remove the implication that the wal directory is inside the shard directory. 2016-02-15 05:33:22 +11:00
bit_reader.go optimize tsm1.BitReader 2016-04-19 11:34:17 -06:00
bit_reader_test.go optimize tsm1.BitReader 2016-04-19 11:34:17 -06:00
bool.go Micro-optimize BooleanDecoder for 20% speedup 2016-07-20 08:43:05 -07:00
bool_test.go Micro-optimize BooleanDecoder for 20% speedup 2016-07-20 08:43:05 -07:00
cache.go Decrement cache memory stat when deleting series 2016-08-29 09:38:41 -06:00
cache_race_test.go Fix deadlock when running backup 2016-03-14 12:36:48 -06:00
cache_test.go Fix race in cache 2016-06-06 15:45:01 -06:00
compact.go Avoid stat syscall when planning compactions 2016-10-03 08:36:05 -06:00
compact_test.go Fix neverending full compactions 2016-09-03 17:35:14 -06:00
cursor.go rename influxdb/influxdb to influxdata/influxdb 2016-02-10 10:26:18 -07:00
encoding.gen.go Fix panic in full compactions due to duplciate data in blocks 2016-07-14 11:32:36 -06:00
encoding.gen.go.tmpl Fix panic in full compactions due to duplciate data in blocks 2016-07-14 11:32:36 -06:00
encoding.gen.go.tmpldata Fix pathalogical TSM query case 2016-05-25 09:14:17 -06:00
encoding.go Handle bounds errors in UnpackBlock 2016-07-19 15:43:27 -07:00
encoding_test.go Fix panic in full compactions due to duplciate data in blocks 2016-07-14 11:32:36 -06:00
engine.go Fix DeleteSeries when multiple fields exists 2016-08-31 20:53:10 -06:00
engine_test.go Fix DeleteSeries when multiple fields exists 2016-08-31 20:53:10 -06:00
file_store.gen.go Fix out of order blocks returned during query 2016-06-22 17:34:44 -06:00
file_store.gen.go.tmpl Fix out of order blocks returned during query 2016-06-22 17:34:44 -06:00
file_store.gen.go.tmpldata Fix pathalogical TSM query case 2016-05-25 09:14:17 -06:00
file_store.go Support negative timestamps in the query engine 2016-08-25 12:52:41 -05:00
file_store_test.go Allow queries to complete before closing TSM files 2016-07-21 12:13:04 -06:00
file_unix.go Fix tombstone rename on windows 2016-04-27 13:09:53 -06:00
file_windows.go Remove redundant windows build tags 2016-05-03 14:22:02 +01:00
float.go Protect against bounds errors in FloatDecoder 2016-07-19 15:59:27 -07:00
float_test.go Protect against bounds errors in FloatDecoder 2016-07-19 15:59:27 -07:00
int.go Fix decoding RLE integer blocks with negative deltas 2016-10-03 08:25:28 -06:00
int_test.go Fix backport issues 2016-10-03 08:31:32 -06:00
iterator.gen.go Release cursor/iterator resources aggressively 2016-08-03 00:21:39 -06:00
iterator.gen.go.tmpl Release cursor/iterator resources aggressively 2016-08-03 00:21:39 -06:00
iterator.gen.go.tmpldata Changed type-switch a few places to reduce allocations. 2016-03-11 15:57:05 -05:00
iterator.go Fix runtime: goroutine stack exceeds 1000000000-byte limit 2016-08-29 09:26:48 -06:00
mmap_solaris.go ran go fmt on mmap_solaris.go #4787 2015-12-07 17:41:26 -08:00
mmap_unix.go Remove MAP_POPULATE 2016-01-08 08:45:27 -07:00
mmap_windows.go fix munmap bug in the windows 2016-01-31 10:46:46 +08:00
pools.go integer support 2016-02-10 09:40:25 -07:00
reader.go Avoid stat syscall when planning compactions 2016-10-03 08:36:05 -06:00
reader_test.go Allow queries to complete before closing TSM files 2016-07-21 12:13:04 -06:00
string.go Protect against bounds errors in StringDecoder 2016-07-19 15:43:27 -07:00
string_test.go updates to make snappy compression tests work again 2016-07-22 14:33:20 -05:00
timestamp.go Protect against bounds errors in TimeDecoder 2016-07-19 15:43:27 -07:00
timestamp_test.go Protect against bounds errors in TimeDecoder 2016-07-19 15:43:27 -07:00
tombstone.go Avoid stat syscall when planning compactions 2016-10-03 08:36:05 -06:00
tombstone_test.go Avoid stat syscall when planning compactions 2016-10-03 08:36:05 -06:00
wal.go Add wal write success/error stats 2016-08-29 09:38:48 -06:00
wal_test.go Remove debugging from test output 2016-04-27 13:09:53 -06:00
writer.go Remove a double lock in the tsm1 index writer 2016-06-20 17:32:34 -05:00
writer_test.go Remove NewTSMReaderWithOptions 2016-04-27 13:09:52 -06:00