{"record":{"id":"e8d06b3a1a580251","repo":"gatsbyjs/gatsby","slug":"the-updated-node-was-empty-the-fact-you-re-seeing","errorCode":null,"errorMessage":"The updated node was empty. The fact you're seeing this warning means there's probably a bug in how we're creating and processing updates from Drupal.\n\n${JSON.stringify(nodeToUpdate, null, 4)}","messagePattern":"The updated node was empty\\. The fact you're seeing this warning means there's probably a bug in how we're creating and processing updates from Drupal\\.\n\n(.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby-source-drupal/src/utils.ts","lineNumber":247,"sourceCode":"    }\n  })\n\n  actions.deleteNode(deletedNode)\n\n  return deletedNode\n}\n\nexport async function createNodeIfItDoesNotExist({\n  nodeToUpdate,\n  actions,\n  createNodeId,\n  createContentDigest,\n  getNode,\n  reporter,\n  pluginOptions,\n}) {\n  if (!nodeToUpdate) {\n    reporter.warn(\n      `The updated node was empty. The fact you're seeing this warning means there's probably a bug in how we're creating and processing updates from Drupal.\n\n${JSON.stringify(nodeToUpdate, null, 4)}\n      `\n    )\n\n    return\n  }\n\n  const { createNode } = actions\n  const newNodeId = createNodeId(\n    createNodeIdWithVersion({\n      id: nodeToUpdate.id,\n      type: nodeToUpdate.type,\n      langcode: getOptions().languageConfig ? nodeToUpdate.langcode : `und`,\n      revisionId: nodeToUpdate.meta?.target_version,\n      entityReferenceRevisions: getOptions().entityReferenceRevisions,\n      typePrefix: pluginOptions.typePrefix,","sourceCodeStart":229,"sourceCodeEnd":265,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/e85d62f1779e353eaac1753211629a26d123e26c/packages/gatsby-source-drupal/src/utils.ts#L229-L265","documentation":"createNodeIfItDoesNotExist receives a null/undefined nodeToUpdate from webhook/preview update processing. This is not caused by user configuration: it indicates the plugin built an empty update payload from a Drupal webhook response — either a plugin bug or an unexpected upstream payload — and the update is skipped instead of creating a broken node.","triggerScenarios":"Thrown at packages/gatsby-source-drupal/src/utils.ts:247 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the logged nodeToUpdate JSON and compare it with the raw webhook payload from Drupal.","Report the issue to gatsby-source-drupal maintainers with the payload — this signals a plugin or Drupal webhook bug.","As a workaround, trigger a full refresh (gatsby clean && gatsby develop) to re-source the affected content."],"exampleFix":null,"handlingStrategy":"type-guard","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-14T05:17:10.506Z"}