influxdb/storage/reads
Jonathan A. Sternberg fe94c5cae4
feat(storage/reads): add cache to reuse tags when reading from storage (#16041)
This adds an lru cache for the columns that are produced as tags. When
producing the columns that are part of the group key, it will generate
the column and then keep it in an lru cache to reuse for future tables.
The start and stop column are effectively cached for every table because
they are special and will be the same for all of the tables.

For the tags, it retains the most recently used since they may be used
by a future table. That way most of the columns will get shared with
each other.

When the size differs, a slice is used so the underlying data is still
shared, but the size is different.
2019-11-27 08:31:53 -06:00
..
datatypes feat(influxdb): user disabling 2019-09-23 11:57:16 -07:00
Makefile chore(Makefile): add target to check generated files are accurate 2018-12-18 12:54:17 -07: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 refactor: move the tsm1/wal into the storage/wal package 2019-02-04 10:32:52 -07:00
array_cursor.gen.go.tmpldata chore: refactor reads service and make it consumable externally 2018-10-09 09:51:13 -06:00
array_cursor.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
eval.go chore: refactor reads service and make it consumable externally 2018-10-09 09:51:13 -06:00
expr.go chore: refactor reads service and make it consumable externally 2018-10-09 09:51:13 -06:00
gen.go build(Makefile): fix various bug with makefiles 2018-12-19 17:02:19 -07:00
group_resultset.go fix(storage): Sort keys were incorrectly sorted when concatenated 2019-05-01 13:37:28 -07:00
group_resultset_test.go fix(query): skip failing end to end tests 2019-05-14 12:52:37 -07:00
helpers_test.go feat(reads): A series of helpers to produce a SeriesCursor 2019-08-16 10:36:30 -07:00
keymerger.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
keymerger_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
merge.go fix(storage): Store.Read behavior changed to return unsorted series keys 2019-04-26 10:38:59 -07:00
merge_test.go fix(storage): Store.Read behavior changed to return unsorted series keys 2019-04-26 10:38:59 -07:00
mergegroupresultset.go fix(query): Keys must be union of all keys from all GroupCursors 2019-04-30 15:49:36 -07:00
mergegroupresultset_test.go fix(query): Keys must be union of all keys from all GroupCursors 2019-04-30 15:49:36 -07:00
predicate.go fix(reads): HasFieldValueKey searches for "$", not "_value" (#13138) 2019-04-04 11:13:09 -07:00
predicate_test.go fix(reads): HasFieldValueKey searches for "$", not "_value" (#13138) 2019-04-04 11:13:09 -07:00
reader.go feat(storage/reads): add cache to reuse tags when reading from storage (#16041) 2019-11-27 08:31:53 -06:00
readstate_string.go feat(reads): Implement ResultSet and GroupResultSet for protobuf streams 2018-11-21 12:01:35 -07:00
response_writer.gen.go fix(reads): ResponseWriter truncates values for last series 2019-08-16 10:36:40 -07:00
response_writer.gen.go.tmpl fix(reads): ResponseWriter truncates values for last series 2019-08-16 10:36:40 -07:00
response_writer.go fix(reads): ResponseWriter truncates values for last series 2019-08-16 10:36:40 -07:00
response_writer_test.go fix(reads): Remove issue reference from test per feedbakc 2019-08-16 13:00:06 -07:00
resultset.go feat(storage): ReadGroup RPC definitions and storage reader 2019-05-01 10:35:10 -07:00
series_cursor.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
store.go refactor(storage): remove Read method from Store interface 2019-05-03 11:02:20 -07:00
store_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
stream_reader.gen.go refactor(storage): remove no points tables and streamReader interface 2019-05-01 10:35:10 -07:00
stream_reader.gen.go.tmpl refactor(storage): remove no points tables and streamReader interface 2019-05-01 10:35:10 -07:00
stream_reader.go perf(storage): expose ability to peek on stream readers (#14901) 2019-09-04 13:57:36 +00:00
stream_reader_gen_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
stream_reader_gen_test.go.tmpl chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
stream_reader_test.go perf(storage): expose ability to peek on stream readers (#14901) 2019-09-04 13:57:36 +00:00
string_iterator_reader.go fix: Add API compatibility assertion 2019-04-18 16:19:19 -07:00
string_iterator_reader_test.go chore(storage): Merge StringIterator cursor stats (#13558) 2019-04-22 15:39:21 -07:00
string_iterator_writer.go fix(storage): Ensure Tag(Keys|Values) APIs never return (nil, nil) 2019-05-02 09:45:38 -07:00
string_iterator_writer_test.go fix(storage): Ensure Tag(Keys|Values) APIs never return (nil, nil) 2019-05-02 09:45:38 -07:00
table.gen.go feat(storage/reads): add cache to reuse tags when reading from storage (#16041) 2019-11-27 08:31:53 -06:00
table.gen.go.tmpl feat(storage/reads): add cache to reuse tags when reading from storage (#16041) 2019-11-27 08:31:53 -06:00
table.go feat(storage/reads): add cache to reuse tags when reading from storage (#16041) 2019-11-27 08:31:53 -06:00
table_test.go feat(storage/reads): add cache to reuse tags when reading from storage (#16041) 2019-11-27 08:31:53 -06:00
tags_cache.go feat(storage/reads): add cache to reuse tags when reading from storage (#16041) 2019-11-27 08:31:53 -06:00
tagsbuffer.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
types.tmpldata chore: refactor reads service and make it consumable externally 2018-10-09 09:51:13 -06:00