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/configuration/index-config.md
+31-1Lines changed: 31 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -594,7 +594,8 @@ This section describes indexing settings for a given index.
594
594
| ------------- | ------------- | ------------- |
595
595
|`commit_timeout_secs`| Maximum number of seconds before committing a split since its creation. |`60`|
596
596
|`split_num_docs_target`| Target number of docs per split. |`10000000`|
597
-
|`merge_policy`| Describes the strategy used to trigger split merge operations (see [Merge policies](#merge-policies) section below). |
597
+
|`merge_policy`| Describes the strategy used to trigger split merge operations for logs/traces (see [Merge policies](#merge-policies) section below). |
598
+
|`parquet_merge_policy`| Describes the merge policy for Parquet (metrics/sketches) splits (see [Parquet merge policy](#parquet-merge-policy) section below). |
598
599
|`resources.heap_size`| Indexer heap size per source per index. |`2000000000`|
599
600
|`docstore_compression_level`| Level of compression used by zstd for the docstore. Lower values may increase ingest speed, at the cost of index size |`8`|
600
601
|`docstore_blocksize`| Size of blocks in the docstore, in bytes. Lower values may improve doc retrieval speed, at the cost of index size |`1000000`|
@@ -687,6 +688,35 @@ indexing_settings:
687
688
type: "no_merge"
688
689
```
689
690
691
+
#### Parquet merge policy
692
+
693
+
*For indexes using the Parquet indexing pipeline (metrics, sketches).*
694
+
695
+
The Parquet merge policy controls how Parquet splits within a compaction scope (same time window, partition, and sort schema) are merged. It uses a constant write amplification strategy: splits at the same merge level are greedily accumulated until reaching `max_merge_factor` or `target_split_size_bytes`.
696
+
697
+
```yaml
698
+
version: 0.7
699
+
index_id: "my-metrics-index"
700
+
# ...
701
+
indexing_settings:
702
+
parquet_merge_policy:
703
+
merge_factor: 10
704
+
max_merge_factor: 12
705
+
max_merge_ops: 4
706
+
target_split_size_bytes: 268435456
707
+
maturation_period: 48h
708
+
max_finalize_merge_operations: 3
709
+
```
710
+
711
+
712
+
| Variable | Description | Default value |
713
+
| ------------- | ------------- | ------------- |
714
+
| `merge_factor` | Minimum number of splits to trigger a merge. | `10` |
715
+
| `max_merge_factor` | Maximum number of splits in a single merge operation. | `12` |
716
+
| `max_merge_ops` | Maximum number of merges a split can undergo before becoming mature. Bounds total write amplification. | `4` |
717
+
| `target_split_size_bytes` | Target size for merged output splits in bytes. Merges trigger when accumulated bytes reach this threshold, even if `merge_factor` is not reached. | `268435456` (256 MiB) |
718
+
| `maturation_period` | Duration after creation when a split becomes mature (never merged again). | `48h` |
719
+
| `max_finalize_merge_operations` | *(advanced)* Maximum number of merge operations emitted during cold-window finalization at pipeline shutdown. Set to `0` to disable. | `3` |
0 commit comments