gatsbyjs/gatsby · error
Operation ${currentBulkOperation.id} is still running after
Error message
Operation ${currentBulkOperation.id} is still running after ${runtime} seconds with status "${currentBulkOperation.status}" What it means
In finishLastOperation, the poll loop waits for the Shopify bulk operation to reach a finished status; when run in CI and the operation has been running longer than the warning interval, this warning is emitted with the operation id, elapsed runtime, and current status. It is informational: the plugin keeps polling, but long-running bulk operations risk exceeding CI job time limits.
Source
Thrown at packages/gatsby-source-shopify/src/create-operations.ts:87
const timer = gatsbyApi.reporter.activityTimer(
`Waiting for operation ${currentBulkOperation.id} : ${currentBulkOperation.status}`
)
timer.start()
while (!finishedStatuses.includes(currentBulkOperation.status)) {
await new Promise(resolve => setTimeout(resolve, 1000))
currentBulkOperation = (await currentOperation()).currentBulkOperation
// add warning for CI environments
if (
process.env.CI &&
Date.now() > lastWarningTime + warningInterval
) {
lastWarningTime = Date.now()
const runtime = Math.floor(
(lastWarningTime - queryStartTime) / 1000
)
gatsbyApi.reporter.warn(
`Operation ${currentBulkOperation.id} is still running after ${runtime} seconds with status "${currentBulkOperation.status}"`
)
// handle next interval, slowly increase time so we don't flood every minute
warningCount += 1
warningInterval =
warningCount <= 5
? baseWarningInterval
: baseWarningInterval * 2 * (warningCount - 5)
}
timer.setStatus(
`Polling operation ${currentBulkOperation.id} : ${currentBulkOperation.status}`
)
}
timer.end()
}View on GitHub (pinned to e85d62f177)
Solutions
- Increase the CI job timeout to accommodate large Shopify catalogs.
- Reduce the amount of data sourced (narrow the plugin options' shopifyCollections/shopifyProducts or use type inference limits).
- Re-run the incremental operation so subsequent syncs are smaller.
- Investigate Shopify API slowness/status for the bulk operation via the Shopify admin GraphQL API.
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at packages/gatsby-source-shopify/src/create-operations.ts:87 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of gatsbyjs/gatsby@e85d62f177 (2026-08-26).
Data as JSON: /api/errors/90be2f0ff051669b.
Report an issue: GitHub.