{"record":{"id":"fba317b2225ad93f","repo":"risingwavelabs/risingwave","slug":"check-if-version-hint-exist-failed","errorCode":null,"errorMessage":"check if version hint exist failed: {}","messagePattern":"check if version hint exist failed: (.+?)","errorType":"error_code","errorClass":"iceberg::Error(ErrorKind::DataInvalid)","httpStatus":null,"severity":"error","filePath":"src/connector/src/connector_common/iceberg/storage_catalog.rs","lineNumber":145,"sourceCode":"                if let Some(endpoint) = &config.endpoint {\n                    file_io_builder = file_io_builder.with_prop(AZBLOB_ENDPOINT, endpoint)\n                };\n                (config.warehouse, file_io_builder.build())\n            }\n        };\n\n        Ok(StorageCatalog { warehouse, file_io })\n    }\n\n    /// Check if version hint file exist.\n    ///\n    /// `table_path`: relative path of table dir under warehouse root.\n    async fn is_version_hint_exist(&self, table_path: &str) -> Result<bool> {\n        self.file_io\n            .exists(format!(\"{table_path}/metadata/version-hint.text\").as_str())\n            .await\n            .map_err(|err| {\n                Error::new(\n                    ErrorKind::DataInvalid,\n                    format!(\"check if version hint exist failed: {}\", err.as_report()),\n                )\n            })\n    }\n\n    /// Read version hint of table.\n    ///\n    /// `table_path`: relative path of table dir under warehouse root.\n    async fn read_version_hint(&self, table_path: &str) -> Result<i32> {\n        let content = self\n            .file_io\n            .new_input(format!(\"{table_path}/metadata/version-hint.text\").as_str())?\n            .read()\n            .await?;\n        let version_hint = String::from_utf8(content.to_vec()).map_err(|err| {\n            Error::new(\n                ErrorKind::DataInvalid,","sourceCodeStart":127,"sourceCodeEnd":163,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/connector/src/connector_common/iceberg/storage_catalog.rs#L127-L163","documentation":"The storage-backed Iceberg catalog checks for a metadata/version-hint.text file to decide how to locate the current metadata version. If the underlying object-store existence check itself errors (network, permissions, client misconfig), it is wrapped as DataInvalid with this message.","triggerScenarios":"is_version_hint_exist calls file_io.exists on <table_path>/metadata/version-hint.text; the storage backend returns an error (credentials rejected, bucket unreachable, wrong endpoint) during commit_table or load_table.","commonSituations":"Expired/incorrect cloud credentials; wrong region or endpoint in with-props; bucket deleted or renamed; network outage between RisingWave and the object store.","solutions":["Read the wrapped inner error (after 'check if version hint exist failed: ') for the root cause and fix storage credentials/endpoint accordingly.","Verify the bucket/container exists and the endpoint/region in with-props is correct.","Check network connectivity/proxy settings to the object store, then retry the query."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// pre-check object-store reachability with the same credentials before running DDL\n// e.g. aws s3 ls s3a://bucket/warehouse/db/table/metadata/ --region <region>","typeGuard":null,"tryCatchPattern":"// Rust caller pattern\nmatch catalog.load_table(\"db.table\").await {\n    Err(e) if e.to_string().contains(\"check if version hint exist failed\") => {\n        // inspect inner report, fix credentials/endpoint, then retry\n    }\n    other => other?,\n}","preventionTips":["Validate cloud credentials and region with the storage CLI before creating sources.","Monitor object-store availability/latency from the RisingWave host.","Keep endpoint and region fields consistent across environments."],"tags":["iceberg","storage","object-store","io"],"backgroundTag":"http-request-failed","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"}