influxdb/tsdb/tsm1
Edd Robinson 9ff65f6016 Track deleted series ids to remove from series file
Previously series that were being removed were tracked at the key level.
This means that when removing them from the series file, the series id
first had to be looked up. This can cause lock thrashing when there are
many series ids to look up (such as with a bulk delete), because there
are no bulk methods to do this.

This commit changes how the series file delete is done by extracting
the series ids from the index before we remove the index entries. It's
then possible to delete all those series ids from the series file
without having to lookup the ids.
2019-01-15 11:45:10 +00:00
..
DESIGN.md Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
array_cursor.gen.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
array_cursor.gen.go.tmpl chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
array_cursor_iterator.gen.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
array_cursor_iterator.gen.go.tmpl chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
array_cursor_iterator.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
array_encoding.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
array_encoding_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
batch_boolean.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
batch_boolean_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
batch_float.go feat(tsm1): Improve performance of Gorilla float block decoding 2018-11-01 18:59:20 +00:00
batch_float_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
batch_integer.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
batch_integer_test.go chore(storage,tsdb): fix megacheck errors 2018-11-01 12:54:46 -07:00
batch_string.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
batch_string_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
batch_timestamp.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
batch_timestamp_test.go feat(encoding): Improve timestamp encoding 2018-11-01 18:59:20 +00:00
bit_reader.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
bit_reader_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
bool.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
bool_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
cache.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
cache_race_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
cache_test.go Refactor tracker names 2018-12-07 14:32:34 +00:00
compact.gen.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
compact.gen.go.tmpl chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
compact.gen.go.tmpldata Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
compact.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
compact_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
config.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
encoding.gen.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
encoding.gen.go.tmpl chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
encoding.gen.go.tmpldata Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
encoding.gen_test.go Update tsi1 package from OSS 2018-10-01 12:08:37 +01:00
encoding.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
encoding_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
engine.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
engine_cursor.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
engine_delete_measurement.go Track deleted series ids to remove from series file 2019-01-15 11:45:10 +00:00
engine_delete_measurement_test.go Improve efficiency of TSI index series drop 2019-01-14 12:46:55 +00:00
engine_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
file_store.gen.go tsm1: DeletePrefix on the indirectIndex 2019-01-07 21:08:32 -07:00
file_store.gen.go.tmpl chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
file_store.gen.go.tmpldata Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
file_store.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
file_store_array.gen.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
file_store_array_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
file_store_key_iterator.go tsm1: fix remaining issues and add small benchmarks 2019-01-07 11:00:35 -07:00
file_store_key_iterator_test.go tsm1: change TSMFile to use an iterator style api 2019-01-07 11:00:35 -07:00
file_store_observer.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
file_store_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
float.go Ensure all tsm1 metrics support multiple instances 2018-12-07 14:32:34 +00:00
float_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
int.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
int_test.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
metrics.go Fix metric names 2018-12-07 16:37:17 +00:00
metrics_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
mmap_unix.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
mmap_windows.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
pools.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
reader.gen.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
reader.gen.go.tmpl chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
reader.gen.go.tmpldata Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
reader.go tsm1: add initial index cleanup to DeletePrefix 2019-01-08 16:32:43 -07:00
reader_block_iterator.go tsm1: change TSMFile to use an iterator style api 2019-01-07 11:00:35 -07:00
reader_block_iterator_test.go tsm1: move code around into smaller files and add tests 2019-01-07 21:11:49 -07:00
reader_fault_buffer.go tsm1: move code around into smaller files and add tests 2019-01-07 21:11:49 -07:00
reader_index.go tsm1: add initial index cleanup to DeletePrefix 2019-01-08 16:32:43 -07:00
reader_index_iterator.go tsm1: fix remaining issues and add small benchmarks 2019-01-07 11:00:35 -07:00
reader_index_iterator_test.go tsm1: move code around into smaller files and add tests 2019-01-07 21:11:49 -07:00
reader_index_test.go tsm1: add initial index cleanup to DeletePrefix 2019-01-08 16:32:43 -07:00
reader_mmap.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
reader_offsets.go tsm1: DeletePrefix on the indirectIndex 2019-01-07 21:08:32 -07:00
reader_offsets_test.go tsm1: fix remaining issues and add small benchmarks 2019-01-07 11:00:35 -07:00
reader_prefix_tree.go tsm1: remove unsafe in prefixTree 2019-01-09 12:43:01 -07:00
reader_prefix_tree_test.go tsm1: add comments responding to review feedback 2019-01-09 11:35:06 -07:00
reader_test.go tsm1: add initial index cleanup to DeletePrefix 2019-01-08 16:32:43 -07:00
reader_time_range.go tsm1: add comments responding to review feedback 2019-01-09 11:35:06 -07:00
reader_time_range_test.go tsm1: move code around into smaller files and add tests 2019-01-07 21:11:49 -07:00
ring.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
ring_test.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
scheduler.go Ensure all tsm1 metrics support multiple instances 2018-12-07 14:32:34 +00:00
scheduler_test.go Convert Cache statistics 2018-12-07 14:32:34 +00:00
stats.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
stats_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
string.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
string_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
timestamp.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
timestamp_test.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
tombstone.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
tombstone_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
wal.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
wal_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
writer.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
writer_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00