Skip to content

Commit b4637c0

Browse files
authored
fix(gatsby): wait for LMDB upserts to finish before emitting ENGINES_READY (#34853)
1 parent b2c1092 commit b4637c0

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

packages/gatsby/src/commands/build.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,9 @@ module.exports = async function build(
286286
)
287287
}
288288

289+
// Start saving page.mode in the main process (while queries run in workers in parallel)
290+
const waitMaterializePageMode = materializePageMode()
291+
289292
let waitForWorkerPoolRestart = Promise.resolve()
290293
if (process.env.GATSBY_EXPERIMENTAL_PARALLEL_QUERY_RUNNING) {
291294
await runQueriesInWorkersQueue(workerPool, queryIds, {
@@ -322,6 +325,7 @@ module.exports = async function build(
322325
}
323326

324327
if (process.send && shouldGenerateEngines()) {
328+
await waitMaterializePageMode
325329
process.send({
326330
type: `LOG_ACTION`,
327331
action: {
@@ -401,9 +405,6 @@ module.exports = async function build(
401405

402406
await waitForWorkerPoolRestart
403407

404-
// Start saving page.mode in the main process (while HTML is generated in workers in parallel)
405-
const waitMaterializePageMode = materializePageMode()
406-
407408
const { toRegenerate, toDelete } =
408409
await buildHTMLPagesAndDeleteStaleArtifacts({
409410
program,

packages/gatsby/src/utils/page-mode.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
import { reportOnce } from "./report-once"
99
import { ROUTES_DIRECTORY } from "../constants"
1010
import { Runner } from "../bootstrap/create-graphql-runner"
11+
import { getDataStore } from "../datastore"
1112

1213
type IPageConfigFn = (arg: { params: Record<string, unknown> }) => {
1314
defer: boolean
@@ -111,6 +112,7 @@ export async function materializePageMode(): Promise<void> {
111112
await new Promise(resolve => setImmediate(resolve))
112113
}
113114
}
115+
await getDataStore().ready()
114116
}
115117

116118
export async function preparePageTemplateConfigs(

0 commit comments

Comments
 (0)