Commit Graph

21 Commits

Author SHA1 Message Date
benclive
dfb60dcaf0 fix: Metastore timerange filter (#19171) 2025-09-11 12:02:43 +00:00
Christian Haudum
4c81ebc7c3 chore(dataobj): Add option to set target row limit for pages (#19128)
This PR introduces an option for the column builder to limit the number of rows in a page.

It can be set for logs object and index objects separately using `-dataobj-consumer.max-page-rows` and `-dataobj-index-builder.max-page-rows` respectively.

Signed-off-by: Christian Haudum <christian.haudum@gmail.com>
2025-09-09 17:55:36 +02:00
Robert Fratto
f6091a67d1 chore(engine): move to toggleable section prefetching (#19142)
dataset.readerDownloader was originally introduced in #16429, an attempt to
balance peak memory usage of reading a section with read times by downloading a
configurable size of pages in advance.

In practice, each roundtrip to object storage adds too much of a latency hit,
and we've started to set the cache limit high enough to ensure that each reader
only needs a single prefetch. Given what we've found, it no longer makes sense
to control peak memory usage via the prefetch size. Other options, such as
downloading directly to disk, may be explored in the future.

In the meantime, this PR removes the ability to specify a cache size. All
non-pruned pages will be bulk requested using the range reader (#19067) on the
first read call. Pages which have left the potential read window will continue
to be eagerly removed for garbage collection.

However, we don't want to prefetch when the dataset is entirely in memory,
which is the case when the logs section builder is performing k-way merge over
in-memory sections. To lower the memory usage of builders, prefetching is
configurable. For this initial PR, prefetching is only disabled for the logs
section builder; all other reads force prefetching.

Signed-off-by: Robert Fratto <robertfratto@gmail.com>
2025-09-09 11:54:34 -04:00
benclive
0b9b4c1ee5 chore: Support multi-tenancy in indexobj builder (#18880) 2025-08-26 14:05:14 +01:00
Robert Fratto
595715146f chore(dataobj)!: introduce new centralized dataset encoding format (#18871)
Signed-off-by: Robert Fratto <robertfratto@gmail.com>
2025-08-15 16:29:07 -04:00
benclive
19d90ef023 chore: Add sorting & tenant info to remaining section types (#18861) 2025-08-14 16:00:45 +00:00
Robert Fratto
642d826a00 chore(dataobj): make section tenancy a global construct (#18857)
Signed-off-by: Robert Fratto <robertfratto@gmail.com>
Co-authored-by: George Robinson <george.robinson@grafana.com>
2025-08-14 14:29:04 +00:00
Ashwanth
5203a0c9ad chore(dataobj): add reader stats (#18694) 2025-08-14 18:29:02 +05:30
Robert Fratto
100e259a8d chore(dataobj): introduce the concept of section info "extensions" (#18832) 2025-08-13 10:14:04 -04:00
Robert Fratto
2ca8e58b0e chore(dataobj): add ability to buffer pending sections to disk (#18780)
Signed-off-by: Robert Fratto <robertfratto@gmail.com>
2025-08-12 11:57:04 -04:00
Robert Fratto
40057f5ce2 chore(dataobj): permit reading subset of section metadata (#18815)
Signed-off-by: Robert Fratto <robertfratto@gmail.com>
2025-08-12 10:12:56 -04:00
Robert Fratto
d4b027ae0c chore(dataobj): return Object on Builder.Flush (#18622) 2025-08-06 12:52:28 -04:00
Robert Fratto
061d1c1d22 chore(dataobj): make copy of pages from downloaded window (#18566) 2025-07-24 10:55:28 -04:00
Ashwanth
da4e59f8c6 chore(dataobj): store sort order information in section metadata (#18499) 2025-07-24 18:25:36 +05:30
benclive
41d93f8a86 fix: Fix empty streamIDs in multi-section index objects (#18556) 2025-07-24 13:30:54 +01:00
benclive
077e4196ef chore: Add indexes to LogQL benchmarks (#18500) 2025-07-18 19:03:41 +00:00
benclive
517c317c97 chore: Integrate indexes with the new query engine (#18427) 2025-07-17 15:04:40 +00:00
benclive
d0a3cd86a7 chore: Remove lookback from stats in unsupported sections (#18489) 2025-07-17 16:00:37 +01:00
benclive
1f0edcd4ac feat: Initial index-builder implementation (#18297) 2025-07-11 15:21:38 +01:00
benclive
a238816751 perf: Use map for InPredicate when reading dataobj (#18325) 2025-07-07 09:45:11 +01:00
benclive
9642af3ac6 chore: Add new pointers section type for dataobj (#18243) 2025-06-27 14:00:51 +01:00