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

# Engine partitioning configuration

> The process-instance partitioning and archiving configuration consolidated under flowx.data.partitioning.archiving. This page maps the old 5.1.x keys to the 5.9.x structure.

## Who this affects

Only deployments that had **data partitioning enabled** on 5.1.x. If you never set `FLOWX_DATA_PARTITIONING_ENABLED=true`, there is nothing to migrate — the defaults are unchanged and partitioning stays off.

If you did use partitioning, the configuration shape changed between 5.1.x and 5.9.x. You must rename your settings before the upgrade; the old keys no longer bind.

***

## What changed

In 5.1.x, partitioning settings and the archiving scheduler lived in **two separate blocks** — `flowx.data.partitioning.*` for partitioning and a standalone `scheduler.dataPartitioning.*` block for the archiving cron job.

In 5.9.x, everything is consolidated under a single `flowx.data.partitioning` block, with all archiving settings nested in an `archiving` sub-block. The standalone `SCHEDULER_DATA_PARTITIONING_*` variables no longer exist.

<Warning>
  **This is a hard cutover.** 5.9.x does not read the old `SCHEDULER_DATA_PARTITIONING_*` keys or the old flat archiving variables. Settings left under the old names are silently ignored, falling back to defaults.
</Warning>

***

## Configuration: before and after

**5.1.x (old):**

```yaml theme={"system"}
flowx:
  data:
    partitioning:
      enabled: true
      interval: MONTH
      retention-intervals: 3
      detached-partition-compression: OFF
      moved-data-batch-size: 5000
scheduler:
  dataPartitioning:
    enabled: true
    cronExpression: "0 0 1 * * ?"
```

**5.9.x (new):**

```yaml theme={"system"}
flowx:
  data:
    partitioning:
      enabled: true
      interval: MONTH
      archiving:
        enabled: true                  # was scheduler.dataPartitioning.enabled
        cronExpression: "0 0 1 * * ?"   # was scheduler.dataPartitioning.cronExpression
        retention-intervals: 3          # moved under archiving
        detached-partition-compression: OFF   # moved under archiving (Oracle only)
        moved-data-batch-size: 5000           # moved under archiving (PostgreSQL only)
```

***

## Environment variable mapping

| 5.1.x variable                                           | 5.9.x variable                                                   |
| -------------------------------------------------------- | ---------------------------------------------------------------- |
| `FLOWX_DATA_PARTITIONING_ENABLED`                        | `FLOWX_DATA_PARTITIONING_ENABLED` (unchanged)                    |
| `FLOWX_DATA_PARTITIONING_INTERVAL`                       | `FLOWX_DATA_PARTITIONING_INTERVAL` (unchanged)                   |
| `SCHEDULER_DATA_PARTITIONING_ENABLED`                    | `FLOWX_DATA_PARTITIONING_ARCHIVING_ENABLED`                      |
| `SCHEDULER_DATA_PARTITIONING_CRON_EXPRESSION`            | `FLOWX_DATA_PARTITIONING_ARCHIVING_CRONEXPRESSION`               |
| `FLOWX_DATA_PARTITIONING_RETENTION_INTERVALS`            | `FLOWX_DATA_PARTITIONING_ARCHIVING_RETENTIONINTERVALS`           |
| `FLOWX_DATA_PARTITIONING_DETACHED_PARTITION_COMPRESSION` | `FLOWX_DATA_PARTITIONING_ARCHIVING_DETACHEDPARTITIONCOMPRESSION` |
| `FLOWX_DATA_PARTITIONING_MOVED_DATA_BATCH_SIZE`          | `FLOWX_DATA_PARTITIONING_ARCHIVING_MOVEDDATABATCHSIZE`           |

***

## Default behavior change

<Warning>
  The archiving scheduler now defaults to **off**. In 5.1.x the scheduler defaulted to on (`SCHEDULER_DATA_PARTITIONING_ENABLED=true`); in 5.9.x `archiving.enabled` defaults to `false`. If you relied on the old default to run archiving, you must explicitly set `FLOWX_DATA_PARTITIONING_ARCHIVING_ENABLED=true` after the upgrade, or partitions will accumulate without being archived.
</Warning>

***

## Migration steps

<Steps>
  <Step title="Move archiving settings under the archiving block">
    Rename your retention, compression, and batch-size settings to the `FLOWX_DATA_PARTITIONING_ARCHIVING_*` form shown in the mapping table.
  </Step>

  <Step title="Replace the standalone scheduler variables">
    Drop `SCHEDULER_DATA_PARTITIONING_ENABLED` and `SCHEDULER_DATA_PARTITIONING_CRON_EXPRESSION`. Set `FLOWX_DATA_PARTITIONING_ARCHIVING_ENABLED=true` and `FLOWX_DATA_PARTITIONING_ARCHIVING_CRONEXPRESSION` in their place.
  </Step>

  <Step title="Re-enable archiving explicitly">
    Because the scheduler now defaults to off, confirm `FLOWX_DATA_PARTITIONING_ARCHIVING_ENABLED=true` is set if you want archiving to run.
  </Step>

  <Step title="Redeploy and verify">
    Redeploy process-engine and confirm the archiving cron job runs on schedule. Check the `DATA_PARTITIONING_LOG` table for new archiving entries.
  </Step>
</Steps>

***

## Integration Designer

5.9.x also adds partitioning and archiving for **workflow instances** in Integration Designer, using the same `flowx.data.partitioning` structure. It is opt-in and defaults to off, so it is not a required migration step — enable it only if you want to partition workflow instance data. Note that the Integration Designer block does not include the Oracle compression or PostgreSQL batch-size settings.

***

## Rollback

This change is configuration-only. The database schema is forward-compatible — reverting the configuration back to the old block names restores the previous behavior without a schema change.

***

## Related resources

<CardGroup cols={2}>
  <Card title="Partitioning & archiving setup" icon="table-cells" href="/5.9/setup-guides/flowx-engine-setup-guide/process-instance-data-archiving">
    Full partitioning and archiving configuration reference.
  </Card>

  <Card title="Prerequisites & upgrade path" icon="list-check" href="./prerequisites">
    Inventory to gather before the upgrade, including your current partitioning config.
  </Card>
</CardGroup>
