{"record":{"id":"6f7ef3c71f91b5be","repo":"hasura/graphql-engine","slug":"parsing-server-metadata-as-yaml-w","errorCode":null,"errorMessage":"parsing server metadata as yaml: %w","messagePattern":"parsing server metadata as yaml: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/commands/metadata_handlers.go","lineNumber":441,"sourceCode":"\t\treturn errors.E(op, fmt.Errorf(\"expected 0 arguments, found: %v\", o.Args))\n\t}\n\n\tserverMetadata, err := cli.GetCommonMetadataOps(o.EC).ExportMetadata()\n\tif err != nil {\n\t\treturn errors.E(op, fmt.Errorf(\"exporting metadata from server: %w\", err))\n\t}\n\n\tvar serverMetadataBytes []byte\n\n\tserverMetadataBytes, err = io.ReadAll(serverMetadata)\n\tif err != nil {\n\t\treturn errors.E(op, fmt.Errorf(\"reading server metadata: %w\", err))\n\t}\n\n\tif diffType == DifftypeYAML {\n\t\tserverMetadataBytes, err = metadatautil.JSONToYAML(serverMetadataBytes)\n\t\tif err != nil {\n\t\t\treturn errors.E(op, fmt.Errorf(\"parsing server metadata as yaml: %w\", err))\n\t\t}\n\t}\n\n\tlocalMetadataBytes, err := os.ReadFile(o.EC.MetadataFile)\n\tif err != nil {\n\t\treturn errors.E(op, fmt.Errorf(\"reading local metadata: %w\", err))\n\t}\n\n\tif err := printMyersDiff(\n\t\tstring(serverMetadataBytes),\n\t\tstring(localMetadataBytes),\n\t\t\"server\",\n\t\t\"project\",\n\t\to.Output,\n\t\to.DisableColor,\n\t); err != nil {\n\t\treturn errors.E(op, err)\n\t}","sourceCodeStart":423,"sourceCodeEnd":459,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/cli/commands/metadata_handlers.go#L423-L459","documentation":"When converting server metadata to YAML during a YAML-mode diff fails, this is the wrapping message. It indicates the server's exported metadata could not be rendered as YAML for the comparison step.","triggerScenarios":"`metadata diff` (DifftypeYAML) where metadatautil.JSONToYAML(serverMetadataBytes) errors: server returned non-JSON or a structure failing YAML marshalling.","commonSituations":"Malformed server metadata (server-side inconsistency); truncated responses behind proxies; CLI/server version skew producing unfamiliar JSON structures.","solutions":["Inspect server metadata with `metadata export -o json` to validate it","Upgrade CLI/server to matching versions","Repair server metadata state with `metadata inconsistency list` then `metadata reload` if corrupted","Retry once to exclude transient network truncation"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":"if err := diff(o, DifftypeYAML); err != nil {\n  if strings.Contains(err.Error(), \"parsing server metadata\") {\n    return diff(o, DifftypeJSON)\n  }\n  return err\n}","preventionTips":["Run `metadata export -o json` to sanity-check server metadata shape","Match CLI and server versions","Repair corrupt server metadata with inconsistency commands before diffing"],"tags":["metadata","diff","yaml","conversion","cli"],"backgroundTag":"json-yaml-conversion-failed","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}