influxdb/tsdb/engine/tsm1
Geoffrey Wossum 66f4dbeaad
fix: limit number of concurrent optimized compactions (#26319)
Limit number of concurrent optimized compactions so that level compactions do not get starved. Starved level compactions result in a sudden increase in disk usage.

Add [data] max-concurrent-optimized-compactions for configuring maximum number of concurrent optimized compactions. Default value is 1.

Co-authored-by: davidby-influx <dbyrne@influxdata.com>
Co-authored-by: devanbenz <devandbenz@gmail.com>
Closes: #26315
2025-05-06 15:42:39 -05:00
..
DESIGN.md doc: remove the implication that the wal directory is inside the shard directory. 2016-02-15 05:33:22 +11:00
array_cursor.gen.go fix: return and respect cursor errors (#24791) 2024-03-25 17:22:33 -07:00
array_cursor.gen.go.tmpl fix: return and respect cursor errors (#24791) 2024-03-25 17:22:33 -07:00
array_cursor_iterator.gen.go fix: return and respect cursor errors (#24791) 2024-03-25 17:22:33 -07:00
array_cursor_iterator.gen.go.tmpl fix: return and respect cursor errors (#24791) 2024-03-25 17:22:33 -07:00
array_cursor_iterator.go fix: return and respect cursor errors (#24791) 2024-03-25 17:22:33 -07:00
array_cursor_test.go fix: return and respect cursor errors (#24791) 2024-03-25 17:22:33 -07:00
array_encoding.go Rename time batch decoders 2018-10-16 12:05:52 +01:00
array_encoding_test.go feat(tsm1): ArrayCursor interfaces and implementations 2018-07-16 08:55:37 -07:00
batch_boolean.go Batch oriented boolean encoders 2018-10-16 12:05:52 +01:00
batch_boolean_test.go Batch oriented boolean encoders 2018-10-16 12:05:52 +01:00
batch_float.go feat(tsm1): Improve performance of Gorilla float block decoding 2018-10-16 17:28:36 -07:00
batch_float_test.go feat(tsm1): Improve performance of Gorilla float block decoding 2018-10-16 17:28:36 -07:00
batch_integer.go fix(encoding): Improve simple8b another 6%; fix inconsequential bug 2018-10-16 12:08:12 +01:00
batch_integer_test.go Fix misspelling identified by misspell 2019-02-03 20:27:43 +00:00
batch_string.go Remove stray fmt.Println in tsm1.StringArrayEncodeAll 2019-07-05 15:58:53 -07:00
batch_string_test.go chore: Fix constant for 32-bit architecture 2019-06-07 11:00:13 -07:00
batch_timestamp.go Fix TSM index maxtime modification 2018-10-29 15:44:31 +00:00
batch_timestamp_test.go feat(encoding): Improve timestamp encoding 2018-10-16 12:08:12 +01:00
bit_reader.go Update godoc for tsm1 package 2017-01-02 07:30:18 -08:00
bit_reader_test.go Removed ineffective assignments, and added checks for errors that previsouly was not checked 2016-12-29 20:26:15 +01:00
bool.go Fix misspelling identified by misspell 2019-02-03 20:27:43 +00:00
bool_test.go pr(tsdb): Feedback items from PR review 2018-07-13 11:42:02 -07:00
cache.go fix(influxd): update xxhash, avoid stringtoslicebyte in cache (#578) (#25622) (#25624) 2024-12-06 16:05:03 -06:00
cache_race_test.go tsm/cache: Remove unused function parameter 2018-06-13 15:22:37 -07:00
cache_test.go fix(influxd): update xxhash, avoid stringtoslicebyte in cache (#578) (#25622) (#25624) 2024-12-06 16:05:03 -06:00
compact.gen.go fix: remove dead iterator (#23888) 2022-11-09 16:24:01 -05:00
compact.gen.go.tmpl fix: remove dead iterator (#23888) 2022-11-09 16:24:01 -05:00
compact.gen.go.tmpldata Taught tsm1 storage engine how to read and write uint64 values 2017-07-24 09:03:22 -07:00
compact.go fix: limit number of concurrent optimized compactions (#26319) 2025-05-06 15:42:39 -05:00
compact_test.go fix: limit number of concurrent optimized compactions (#26319) 2025-05-06 15:42:39 -05:00
digest.go fix: Do not close connection twice in DigestWithOptions (#21659) 2021-06-10 12:41:42 -07:00
digest_reader.go error if manifest is read/written more than once 2018-10-22 14:42:05 -04:00
digest_test.go switch digests to use snappy compression 2018-08-23 13:02:12 -04:00
digest_writer.go error if manifest is read/written more than once 2018-10-22 14:42:05 -04:00
digest_writer_test.go error if manifest is read/written more than once 2018-10-22 14:42:05 -04:00
encoding.gen.go Add batch block encoders 2018-10-16 12:05:52 +01:00
encoding.gen.go.tmpl Add batch block encoders 2018-10-16 12:05:52 +01:00
encoding.gen.go.tmpldata Taught tsm1 storage engine how to read and write uint64 values 2017-07-24 09:03:22 -07:00
encoding.gen_test.go Update test case 2018-09-14 14:09:24 -07:00
encoding.go fix(tsdb): address staticcheck warning st1006 (#18126) 2020-05-17 22:36:06 -04:00
encoding_test.go fix(tsdb): Replace panic with error while de/encoding corrupt data 2020-04-01 20:51:11 +02:00
engine.gen.go chore: Remove BatchCursor references 2018-08-24 11:56:04 -07:00
engine.gen.go.tmpl chore: Remove BatchCursor references 2018-08-24 11:56:04 -07:00
engine.go fix: limit number of concurrent optimized compactions (#26319) 2025-05-06 15:42:39 -05:00
engine_cursor.go chore: Remove BatchCursor references 2018-08-24 11:56:04 -07:00
engine_internal_test.go build: upgrade to go1.18 (#23250) 2022-03-31 16:17:57 -05:00
engine_test.go fix: PlanOptimize is running too frequently (#26211) 2025-04-08 12:22:29 -05:00
file_store.gen.go feat(tsm1): Add Read<type>ArrayBlock APIs to FileStore 2018-07-16 08:55:37 -07:00
file_store.gen.go.tmpl fix: remove dead iterator (#23888) 2022-11-09 16:24:01 -05:00
file_store.gen.go.tmpldata Taught tsm1 storage engine how to read and write uint64 values 2017-07-24 09:03:22 -07:00
file_store.go chore: add logging to Filestore.purger (#26089) 2025-03-05 11:46:07 -08:00
file_store_array.gen.go feat(tsm1): ArrayCursor interfaces and implementations 2018-07-16 08:55:37 -07:00
file_store_array_test.go fix(tsdb): Fix existing Prometheus tests based on batch cursors 2018-07-16 08:55:37 -07:00
file_store_internal_test.go fix: do not rename files on mmap failure (#23396) 2022-06-07 08:37:00 -07:00
file_store_key_iterator.go simplify packages under tsdb 2018-01-21 09:41:27 -08:00
file_store_key_iterator_test.go fix(tsm1): fix data race when accessing tombstone stats (#20903) 2021-03-09 15:20:40 -05:00
file_store_observer.go tsdb: avoid nil checks on the observer 2018-05-23 13:15:41 -06:00
file_store_test.go fix: prevent retention service from hanging (#25055) 2024-06-13 11:07:17 -05:00
float.go Use math/bits exclusively instead of go-bits 2018-03-15 12:03:24 -07:00
float_test.go Batch oriented float encoders 2018-10-16 12:05:52 +01:00
int.go Generate encode*Values funcs 2017-03-23 12:53:29 -06:00
int_test.go Fix misspelling identified by misspell 2019-02-03 20:27:43 +00:00
iterator.gen.go reuse ValuerEval objects 2019-02-05 15:10:23 -06:00
iterator.gen.go.tmpl reuse ValuerEval objects 2019-02-05 15:10:23 -06:00
iterator.gen.go.tmpldata Taught tsm1 storage engine how to read and write uint64 values 2017-07-24 09:03:22 -07:00
iterator.go feat: use count_hll for 'show series cardinality' queries (#20745) 2021-02-10 16:00:16 -05:00
iterator_test.go Make closing TSM cursors idempotent 2018-02-21 09:05:54 -07:00
mmap_unix.go build: upgrade to go1.18 (#23250) 2022-03-31 16:17:57 -05:00
mmap_windows.go Wire in mmap advise hint to TSMReader 2018-08-03 16:27:39 +01:00
pools.go Do not drop on the floor small buffers 2018-02-17 20:41:07 +09:00
reader.gen.go feat(tsm1): Add Read<Type>ArrayBlock APIs to TSMReader and mmapAccessor 2018-07-16 08:55:37 -07:00
reader.gen.go.tmpl feat(tsm1): Add Read<Type>ArrayBlock APIs to TSMReader and mmapAccessor 2018-07-16 08:55:37 -07:00
reader.gen.go.tmpldata feat(tsm1): Add Read<Type>ArrayBlock APIs to TSMReader and mmapAccessor 2018-07-16 08:55:37 -07:00
reader.go fix: do not rename files on mmap failure (#23396) 2022-06-07 08:37:00 -07:00
reader_test.go fix: move aside TSM file on errBlockRead (#25839) 2025-01-22 10:46:31 -08:00
ring.go fix(influxd): update xxhash, avoid stringtoslicebyte in cache (#578) (#25622) (#25624) 2024-12-06 16:05:03 -06:00
ring_test.go fix(influxd): update xxhash, avoid stringtoslicebyte in cache (#578) (#25622) (#25624) 2024-12-06 16:05:03 -06:00
scheduler.go fix: limit number of concurrent optimized compactions (#26319) 2025-05-06 15:42:39 -05:00
scheduler_test.go Rework compaction scheduling 2017-10-03 10:48:13 -06:00
string.go Remove unused code/cleanup engine package 2018-01-20 13:56:45 +00:00
string_test.go pr(tsdb): Feedback items from PR review 2018-07-13 11:42:02 -07:00
timestamp.go Fix misspelling identified by misspell 2019-02-03 20:27:43 +00:00
timestamp_test.go pr(tsdb): Feedback items from PR review 2018-07-13 11:42:02 -07:00
tombstone.go build: upgrade to go1.18 (#23250) 2022-03-31 16:17:57 -05:00
tombstone_test.go build: upgrade to go1.18 (#23250) 2022-03-31 16:17:57 -05:00
wal.go chore: improve error messages and logging during shard opening (#25314) 2024-09-12 15:11:56 -05:00
wal_test.go fix(tsm): check write-ahead-log size (#18991) 2021-08-24 11:44:01 -04:00
writer.go fix: do not leak file handles from Compactor.write (#25725) 2025-01-03 14:43:41 -08:00
writer_test.go build: upgrade to go1.18 (#23250) 2022-03-31 16:17:57 -05:00