> ## Documentation Index
> Fetch the complete documentation index at: https://docs.e6data.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Table maintenance

> maintenance

ReferenceApplies to: Unified engine deployments

`[maintenance]`

## Settings

### `target_file_size_bytes`

Chooses the approximate output file size when compacting a table.

* **Default:** `134217728`
* **Type:** integer (bytes); positive

> **Example**
>
> `134217728` targets files around 128 MiB. Batch and row-group boundaries mean individual files may be larger or smaller.

### `max_group_size_bytes`

Limits how many input bytes are grouped into one maintenance task.

* **Default:** `1073741824`
* **Type:** integer (bytes); positive

> **Example**
>
> `1073741824` groups at most 1 GiB of input at a time. It does not set the size of every output file.

### `min_input_files`

Sets the minimum number of candidate files needed before compaction is planned.

* **Default:** `2`
* **Type:** integer; positive

> **Example**
>
> `2` avoids planning compaction for a single candidate file.

### `target_metadata_size_bytes`

Sets the target size for metadata output produced by maintenance.

* **Default:** `8388608`
* **Type:** integer (bytes); positive

> **Example**
>
> `8388608` targets about 8 MiB of metadata output. This is separate from the target size of table data files.

## Task limits

### `limits.max_input_files`

Limits how many files one maintenance task may read.

* **Default:** `100000`
* **Type:** integer; positive

> **Example**
>
> `100000` bounds the input-file count for a task, independently of the total input bytes.

### `limits.max_input_bytes`

Limits the combined input bytes admitted for one maintenance task.

* **Default:** `1099511627776`
* **Type:** integer (bytes); positive

> **Example**
>
> `1099511627776` is a 1 TiB input budget. A task must also fit the file-count and memory limits.

### `limits.max_output_files`

Limits how many files one maintenance task may produce.

* **Default:** `100000`
* **Type:** integer; positive

> **Example**
>
> `100000` prevents maintenance from producing an unbounded number of small output files.

### `limits.max_memory_bytes`

Limits the memory budget admitted for one maintenance task.

* **Default:** `268435456`
* **Type:** integer (bytes); positive

> **Example**
>
> `268435456` gives that maintenance work a 256 MiB memory budget. It does not resize the whole worker process.

### `limits.max_result_rows`

Limits how many result rows a maintenance task may retain.

* **Default:** `100000`
* **Type:** integer; positive

> **Example**
>
> `100000` bounds a task’s returned maintenance result rows, not the rows stored in the whole table.

### `limits.max_result_bytes`

Limits the memory occupied by retained maintenance result arrays before they are encoded for storage.

* **Default:** `16777216`
* **Type:** integer (bytes); positive

> **Example**
>
> `16777216` gives those Arrow arrays a 16 MiB budget. Their encoded result-object size is controlled separately.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.