{"record":{"id":"8928b31c08a6e052","repo":"risingwavelabs/risingwave","slug":"alter-table-refresh-schema-is-not-supported-for-ic","errorCode":null,"errorMessage":"ALTER TABLE REFRESH SCHEMA is not supported for iceberg table: {}.{}","messagePattern":"ALTER TABLE REFRESH SCHEMA is not supported for iceberg table: (.+?)\\.(.+?)","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/frontend/src/handler/mod.rs","lineNumber":1788,"sourceCode":"                table_name\n            );\n        }\n        AlterTableOperation::SetParallelism { .. } => {\n            bail!(\n                \"ALTER TABLE SET PARALLELISM is not supported for iceberg table: {}.{}\",\n                schema_name,\n                table_name\n            );\n        }\n        AlterTableOperation::SetBackfillParallelism { .. } => {\n            bail!(\n                \"ALTER TABLE SET BACKFILL PARALLELISM is not supported for iceberg table: {}.{}\",\n                schema_name,\n                table_name\n            );\n        }\n        AlterTableOperation::RefreshSchema => {\n            bail!(\n                \"ALTER TABLE REFRESH SCHEMA is not supported for iceberg table: {}.{}\",\n                schema_name,\n                table_name\n            );\n        }\n        AlterTableOperation::AlterRateLimit(rate_limit)\n            if rate_limit.rate_limit_type == AlterRateLimitType::Source =>\n        {\n            bail!(\n                \"ALTER TABLE SET SOURCE RATE LIMIT is not supported for iceberg table: {}.{}\",\n                schema_name,\n                table_name\n            );\n        }\n        AlterTableOperation::AlterWatermark { .. } => {\n            bail!(\n                \"ALTER TABLE ALTER WATERMARK is not supported for iceberg table: {}.{}\",\n                schema_name,","sourceCodeStart":1770,"sourceCodeEnd":1806,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/frontend/src/handler/mod.rs#L1770-L1806","documentation":"`ALTER TABLE ... REFRESH SCHEMA` is rejected for Iceberg tables. The command exists for tables with auto schema change to reconcile the RisingWave schema with the external store, but it is explicitly unsupported on Iceberg-backed tables where the sink handles refresh automatically or not at all.","triggerScenarios":"Executing `ALTER TABLE <iceberg_table> REFRESH SCHEMA` on a table backed by an Iceberg sink.","commonSituations":"Schema drift between RisingWave and Iceberg where a developer tries to force a refresh; runbooks written for other external-table types (e.g. other connectors) applied to Iceberg.","solutions":["Let the auto-refresh-schema sink propagate schema changes automatically; verify the sink was created with that option.","Recreate the sink with auto schema-change support, then let it refresh instead of issuing REFRESH SCHEMA.","Recreate the table and sink with the correct schema if drift persists."],"exampleFix":"// before\nALTER TABLE iceberg_t REFRESH SCHEMA;\n// after\n-- ensure sink created with auto_refresh_schema = true; changes propagate automatically","handlingStrategy":"validation","validationCode":"-- Do not issue REFRESH SCHEMA on iceberg tables\nSELECT relation_kind FROM rw_catalog.rw_relations WHERE name = 't';\n-- rely on the auto-refresh-schema sink instead","typeGuard":"fn is_refresh_schema(op: &AlterTableOperation) -> bool {\n    matches!(op, AlterTableOperation::RefreshSchema)\n}","tryCatchPattern":"match client.alter_table_refresh_schema(table).await {\n    Err(e) if e.message().contains(\"REFRESH SCHEMA is not supported for iceberg\") => {\n        // ensure sink has auto_refresh_schema; do not force refresh\n    }\n    other => other?,\n}","preventionTips":["Enable auto-refresh-schema on Iceberg sinks so manual refresh is never needed.","Distinguish Iceberg tables from other external tables in maintenance scripts.","Monitor sink refresh status instead of forcing refreshes."],"tags":["sql","iceberg","schema-change","unsupported-operation"],"backgroundTag":"operation-not-supported","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"}