-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Open
Description
Describe the bug
Since the Daylight Saving Time (DST) change on October 26, 2025 (in Europe/Zurich clocks go back 1 hour), queries against a pre-aggregated table are failing with the following error:
No pre-aggregation partitions were built yet for the pre-aggregation serving this query and this API instance wasn't set up to build pre-aggregations. Please make sure your refresh worker is configured correctly, running, pre-aggregation tables are built and all pre-aggregation refresh settings like timezone match. Expected table name patterns: prod_pre_aggregations.statistics_day_*_2ba3g30q_*
This issue does not occur outside of DST transitions. Restarting the Cube.js container and manually triggering a pre-aggreations rebuild via POST /v1/pre-aggregations/jobs resolves the problem.
To Reproduce
- Set up a Cube.js instance with a pre-aggregation like the one below
- Simulate or wait for a DST transition (e.g., end of DST where clocks go back 1 hour).
- Query the pre-aggregated measure after the transition
Expected behavior
There should be no errors after DST transitions. With this configuration, pre-aggregations should refresh automatically:
refreshKey: {
every: '1 hour'
}
Minimally reproducible Cube Schema
cube('statistics', {
sql: 'SELECT * FROM statistics',
refreshKey: {
every: '1 hour'
},
joins: {},
measures: {
count: {
type: 'count',
drillMembers: [organizationid]
}
},
dimensions: {
organizationid: {
sql: `${CUBE}.\`organizationId\``,
type: 'string'
}
},
preAggregations: {
day: {
dimensionReferences: [statistics.key, statistics.organizationid],
granularity: `day`,
measureReferences: [count],
scheduledRefresh: true,
timeDimensionReference: createdat,
type: `rollup`
}
}
});cube:
depends_on:
cubestore:
condition: service_started
environment:
- CUBEJS_API_SECRET=
- CUBEJS_CUBESTORE_HOST=cubestore
- CUBEJS_DB_TYPE=mysql
- CUBEJS_SCHEDULED_REFRESH_TIMEZONES=Europe/Zurich
image: cubejs/cube:${CUBEJS_VERSION}
volumes:
- cube-configuration:/cube/conf
cube-refresh-worker:
depends_on:
cubestore:
condition: service_started
environment:
- CUBEJS_API_SECRET=
- CUBEJS_CUBESTORE_HOST=cubestore
- CUBEJS_DB_TYPE=mysql
- CUBEJS_REFRESH_WORKER=true
- CUBEJS_SCHEDULED_REFRESH_TIMEZONES=Europe/Zurich
image: cubejs/cube:${CUBEJS_VERSION}
volumes:
- cube-configuration:/cube/conf
cubestore:
environment:
- CUBESTORE_REMOTE_DIR=/cube/data
image: cubejs/cubestore:${CUBEJS_VERSION}
volumes:
- cubestore-volume:/cube/data
Version:
1.0.7
dtslvr
Metadata
Metadata
Assignees
Labels
No labels