{"record":{"id":"72c7949533d76b79","repo":"risingwavelabs/risingwave","slug":"schema-version-id-invalid-0","errorCode":null,"errorMessage":"schema version id invalid: {0}","messagePattern":"schema version id invalid: (.+?)","errorType":"exception","errorClass":"SchemaFetchError::InvalidUuid","httpStatus":null,"severity":"error","filePath":"src/connector/src/schema/mod.rs","lineNumber":57,"sourceCode":"#[derive(Debug, thiserror::Error, thiserror_ext::Macro)]\n#[error(\"Malformed response: {message}\")]\npub struct MalformedResponseError {\n    pub message: String,\n}\n\n#[derive(Debug, thiserror::Error)]\npub enum SchemaFetchError {\n    #[error(transparent)]\n    InvalidOption(#[from] InvalidOptionError),\n    #[error(transparent)]\n    License(#[from] risingwave_common::license::FeatureNotAvailable),\n    #[error(transparent)]\n    Request(#[from] schema_registry::ConcurrentRequestError),\n    #[error(transparent)]\n    AwsGlue(#[from] Box<aws_sdk_glue::operation::get_schema_version::GetSchemaVersionError>),\n    #[error(transparent)]\n    MalformedResponse(#[from] MalformedResponseError),\n    #[error(\"schema version id invalid: {0}\")]\n    InvalidUuid(#[from] uuid::Error),\n    #[error(\"schema compilation error: {0}\")]\n    SchemaCompile(\n        #[source]\n        #[backtrace]\n        risingwave_common::error::BoxedError,\n    ),\n    #[error(\"{0}\")] // source+{0} is effectively transparent but allows backtrace\n    YetToMigrate(\n        #[source]\n        #[backtrace]\n        ConnectorError,\n    ),\n    #[error(\"schema registry client error: {0}\")]\n    Client(#[from] schema_registry::SchemaRegistryClientError),\n}\n","sourceCodeStart":39,"sourceCodeEnd":74,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/connector/src/schema/mod.rs#L39-L74","documentation":"SchemaFetchError::InvalidUuid wraps a uuid::Error: a schema version identifier expected to be a UUID could not be parsed. Used when a registry response (e.g. AWS Glue / Confluent with GUIDs) yields an invalid UUID string.","triggerScenarios":"Converting a schema version id (string) to uuid::Uuid with FromStr/try_from and the string is not a valid UUID — empty, truncated, or non-UUID id returned by the registry or supplied in config.","commonSituations":"AWS Glue schema ARNs/versions mismatched; copying a partial UUID into schema config; registry returning a numeric version where a UUID GUID was expected.","solutions":["Check the schema version id/GUID string is a complete, well-formed UUID.","Re-fetch the schema version from the registry to obtain a valid UUID.","Verify you're referencing the right registry/ARN (Glue registry vs schema id)."],"exampleFix":"// before\nlet id = Uuid::parse_str(\"550e8400\")?; // truncated\n// after\nlet id = Uuid::parse_str(\"550e8400-e29b-41d4-a716-446655440000\")?;","handlingStrategy":"validation","validationCode":"fn is_valid_uuid(s: &str) -> bool {\n    uuid::Uuid::parse_str(s).is_ok()\n}","typeGuard":null,"tryCatchPattern":"match fetch_schema_version(id) {\n    Err(e) if e.to_string().starts_with(\"schema version id invalid\") => {\n        // re-fetch/repair the UUID before retrying\n    }\n    Err(e) => return Err(e.into()),\n    Ok(s) => s,\n}","preventionTips":["Store full UUID strings, never truncated ids.","Resolve ids from the registry API rather than copying from logs.","Distinguish Glue numeric versions from GUIDs in config tooling."],"tags":["uuid","schema","registry","parsing"],"backgroundTag":"invalid-argument-format","analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}