Warmup Jobs
A VeloDB Cloud cluster keeps hot data in a local cache and reads the rest from remote storage. When a cluster's cache is cold, the first queries are slower because they fetch data from remote storage before the cache fills. A warmup job preloads data into a cluster's cache ahead of time, so queries start warm.
Warm up a cluster when you want to:
- Prepare a new or resumed cluster before it takes production traffic.
- Refill the cache after scaling in compute, when cached data beyond the new capacity was evicted.
- Keep a standby cluster's cache aligned with a busy cluster so it can take over quickly.
Cache warmup is available since version 4.0.2.
Create a warmup job
You create a warmup job with SQL, not from the console. Run the WARM UP COMPUTE GROUP statement from the SQL Editor or any SQL client. A cluster is a compute group at the SQL level. Warm a cluster in one of two ways.
Warm the destination cluster from another cluster, which copies the cached data set of a source cluster into the destination. Use this to reproduce a warm cluster's cache on a new cluster, or to keep a standby cluster aligned with a busy one.
WARM UP COMPUTE GROUP <destination_cluster> WITH COMPUTE GROUP <source_cluster>;
Or warm specific tables and partitions, when you know which datasets the next queries will read.
WARM UP COMPUTE GROUP <destination_cluster> WITH
TABLE <table_name>
AND TABLE <table_name> PARTITION <partition_name>;
The statement returns a job ID that you track from the console or with SQL. For the full syntax, see WARM UP.
Track a warmup job
In the console, go to Compute → Warmup Jobs to look up warmup jobs and their status. Click a Job ID to open its job page. A job reports the following:
| Field | Meaning |
|---|---|
| Status | PENDING, RUNNING, FINISHED, or CANCELLED. |
| Type | CLUSTER when warming from another cluster, TABLE when warming specific tables or partitions. |
| Finished / total batches | How many data batches are warmed out of the total. Use this to gauge progress. |
| Create time / finish time | When the job started and, once complete, when it finished. |
| Error | The failure reason when a job does not finish. |
The equivalent SQL statement is SHOW WARM UP JOB.
Cancel a warmup job
To stop a running warmup job, open it on the Warmup Jobs page and cancel it. Its status changes from RUNNING to CANCELLED. Batches already warmed stay in the cache. The equivalent SQL statement is CANCEL WARM UP JOB WHERE id = <id>.
Alert on warmup jobs
When you warm a destination cluster from a source cluster, VeloDB Cloud can keep the destination cache in sync with the source over time. Two metrics track that sync and can be used as a Job alert target. Both are available since version 4.1.8 on the 4.x line and 26.0.5 on the 26.x line.
| Metric | Unit | What it tracks |
|---|---|---|
| Warmup Job Trigger Gap | ms | The interval between warmup runs. A growing gap means warmup is scheduling behind. |
| Warmup Job Pending Size | bytes | The source-minus-destination data size over the last 5 minutes. A growing value means the destination cache is falling behind the source. |
Create a warmup alert from the job's own page, not from the Alerts page: open the job on the Warmup Jobs page, then click Create Alert. For the full alerting workflow, including the other target types and notification channels, see Alerts.
Related SQL statements
Warmup runs on the SQL layer. Create a warmup job with WARM UP COMPUTE GROUP, then look it up and cancel it from the console or with SQL.
- WARM UP: warm a cluster from another cluster, or by table and partition.
- SHOW WARM UP JOB: list warmup jobs and their status.
- CANCEL WARM UP: stop a running warmup job.
- SHOW CACHE HOTSPOT: inspect which data is hot in the cache.