tiering

Get tiering plan

Changed on

Returns the controller's cached per-node table snapshots. Unlike the cluster explorer endpoints, this endpoint does not query ClickHouse on demand; every table carries the reconcile timestamp, generation, and any last observation error for that cached plan.

get/tiering/plan

Request

  • Base URL: /api/v1 (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /api/v1/tiering/plan
  • Auth: none declared

Query parameters

nodeIdstring
Example:shard1-replica1

Filter by movoor configured node id.

databasestring
Example:movoor_dev

Filter by ClickHouse database name.

tablestring
Example:test_generic_network_month_local

Filter by ClickHouse table name.

status'hot' | 'ready' | 'tiered' | 'split' | 'stalled' | 'misconfigured'

Derived physical tiering status.

Filter tiering plan entries by observed status.

decision'none' | 'keep' | 'hold' | 'consolidate' | 'optimize' | 'tier' | 'append'

Derived action the controller would issue for this partition. Each actionable decision is a single convergence leg; multi-step flows (e.g. the remerge strategy's consolidate, optimize, tier sequence) chain through re-classification across reconcile cycles. The consolidate leg co-locates a split partition's parts on the table's optimizeOn side before the merge.

Filter tiering plan entries by derived decision.

Response

Cached tiering plan snapshot.

Example response

{
  "items": [
    {
      "nodeId": "shard1-replica1",
      "shard": "shard1",
      "replica": "replica1",
      "rows": "104",
      "bytesOnDisk": "104",
      "activeParts": "104",
      "disks": [
        {
          "parts": "104"
        }
      ],
      "policy": {
        "keepLast": "104",
        "optimizeToParts": "104",
        "optimizeSkipAboveBytes": "104",
        "fragmentAbovePartCount": "104"
      }
    }
  ]
}

Changes