Skip to content

Commit 38aab17

Browse files
committed
fix: Refresh partitioned pre-aggregations sequentially to avoid excessive memory and Redis connection consumption
1 parent 4aee9dc commit 38aab17

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

packages/cubejs-server-core/core/RefreshScheduler.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,8 @@ class RefreshScheduler {
150150
const queries = await this.refreshQueriesForPreAggregation(
151151
context, compilerApi, preAggregation, queryingOptions
152152
);
153-
await Promise.all(queries.map(async (query, i) => {
153+
for (let i = queries.length - 1; i >= 0; i--) {
154+
const query = queries[i];
154155
const sqlQuery = await compilerApi.getSql(query);
155156
const orchestratorApi = this.serverCore.getOrchestratorApi({ ...context, dataSource: sqlQuery.dataSource });
156157
await orchestratorApi.executeQuery({
@@ -162,7 +163,7 @@ class RefreshScheduler {
162163
renewQuery: true,
163164
requestId: context.requestId
164165
});
165-
}));
166+
}
166167
}));
167168
}
168169
}

0 commit comments

Comments
 (0)