You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/components/store.md
+59Lines changed: 59 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -221,3 +221,62 @@ While the remaining settings are **optional**:
221
221
- `max_get_multi_concurrency`: maximum number of concurrent connections when fetching keys. If set to `0`, the concurrency is unlimited.
222
222
- `max_get_multi_batch_size`: maximum number of keys a single underlying operation should fetch. If more keys are specified, internally keys are splitted into multiple batches and fetched concurrently, honoring `max_get_multi_concurrency`. If set to `0`, the batch size is unlimited.
223
223
- `dns_provider_update_interval`: the DNS discovery update interval.
224
+
225
+
226
+
## Index Header
227
+
228
+
In order to query series inside blocks from object storage, Store Gateway has to know certain initial info about each block such as:
229
+
230
+
* symbols table to unintern string values
231
+
* postings offset for posting lookup
232
+
233
+
In order to achieve so, on startup for each block `index-header` is built from pieces of original block's index and stored on disk.
234
+
Such `index-header` file is then mmaped and used by Store Gateway.
235
+
236
+
### Format (version 1)
237
+
238
+
The following describes the format of the `index-header` file found in each block store gateway local directory.
239
+
It is terminated by a table of contents which serves as an entry point into the index.
When the index is written, an arbitrary number of padding bytes may be added between the lined out main sections above. When sequentially scanning through the file, any zero bytes after a section's specified length must be skipped.
258
+
259
+
Most of the sections described below start with a `len` field. It always specifies the number of bytes just before the trailing CRC32 checksum. The checksum is always calculated over those `len` bytes.
260
+
261
+
### Symbol Table
262
+
263
+
See [Symbols](https://github.com/prometheus/prometheus/blob/d782387f814753b0118d402ec8cdbdef01bf9079/tsdb/docs/format/index.md#symbol-table)
264
+
265
+
### Postings Offset Table
266
+
267
+
See [Posting Offset Table](https://github.com/prometheus/prometheus/blob/d782387f814753b0118d402ec8cdbdef01bf9079/tsdb/docs/format/index.md#postings-offset-table)
268
+
269
+
### TOC
270
+
271
+
The table of contents serves as an entry point to the entire index and points to various sections in the file.
272
+
If a reference is zero, it indicates the respective section does not exist and empty results should be returned upon lookup.
0 commit comments