{"record":{"id":"a5823a22abf6daf9","repo":"gatsbyjs/gatsby","slug":"file-node-failed-to-restore-from-cache-this-is-a","errorCode":null,"errorMessage":"File node failed to restore from cache. This is a bug in gatsby-source-wordpress. Please open an issue so we can help you out :)","messagePattern":"File node failed to restore from cache\\. This is a bug in gatsby-source-wordpress\\. Please open an issue so we can help you out :\\)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/process-node.js","lineNumber":188,"sourceCode":"  wpUrl,\n}) => {\n  // get all the image nodes we've cached from elsewhere\n  const { nodeMetaByUrl } = getStore().getState().imageNodes\n\n  const previouslyCachedNodesByUrl = (\n    await Promise.all(\n      Object.entries(nodeMetaByUrl).map(([sourceUrl, { id } = {}]) => {\n        if (!sourceUrl || !id) {\n          return null\n        }\n\n        sourceUrl = ensureSrcHasHostname({ wpUrl, src: sourceUrl })\n\n        const existingNode = helpers.getNode(id)\n\n        if (!existingNode) {\n          if (!displayedFailedToRestoreMessage) {\n            helpers.reporter.warn(\n              formatLogMessage(\n                `File node failed to restore from cache. This is a bug in gatsby-source-wordpress. Please open an issue so we can help you out :)`\n              )\n            )\n            displayedFailedToRestoreMessage = true\n          }\n\n          return null\n        }\n\n        return {\n          sourceUrl,\n          ...existingNode,\n        }\n      })\n    )\n  ).filter(Boolean)\n","sourceCodeStart":170,"sourceCodeEnd":206,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/e85d62f1779e353eaac1753211629a26d123e26c/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/process-node.js#L170-L206","documentation":"Cache-restoration warning while collecting HTML-embedded images: gatsby-source-wordpress keeps a map of sourceUrl → node id, but the node for a cached URL no longer exists in the store (e.g. it was garbage-collected, deleted in WP, or state was partially restored). Shown once per run; the code then re-fetches/creates the missing media item nodes instead of failing.","triggerScenarios":"Thrown at packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/process-node.js:188 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Usually transient — run `gatsby clean` to purge the inconsistent .cache and re-develop","If persistent, verify the referenced media still exists in WordPress and WPGraphQL returns it","Report a reproduction to the gatsby-source-wordpress issue tracker, since the message indicates a plugin-side cache bug"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e85d62f1779e353eaac1753211629a26d123e26c","analyzedAt":"2026-08-26T17:50:09.662Z","contentChangedAt":"2026-08-26T17:50:09.662Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}