{"record":{"id":"97fb866dc96e4b21","repo":"apache/iceberg","slug":"not-a-supported-type-atomic-catalogstring","errorCode":null,"errorMessage":"Not a supported type: atomic.catalogString()","messagePattern":"Not a supported type: atomic\\.catalogString\\(\\)","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkTypeToType.java","lineNumber":163,"sourceCode":"    } else if (atomic instanceof DateType) {\n      return Types.DateType.get();\n\n    } else if (atomic instanceof TimestampType) {\n      return Types.TimestampType.withZone();\n\n    } else if (atomic instanceof TimestampNTZType) {\n      return Types.TimestampType.withoutZone();\n\n    } else if (atomic instanceof DecimalType) {\n      return Types.DecimalType.of(\n          ((DecimalType) atomic).precision(), ((DecimalType) atomic).scale());\n    } else if (atomic instanceof BinaryType) {\n      return Types.BinaryType.get();\n    } else if (atomic instanceof NullType) {\n      return Types.UnknownType.get();\n    }\n\n    throw new UnsupportedOperationException(\"Not a supported type: \" + atomic.catalogString());\n  }\n}\n","sourceCodeStart":145,"sourceCodeEnd":166,"githubUrl":"https://github.com/apache/iceberg/blob/86d9c8fc543e7c56c9f624eb725f76c9baff9570/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkTypeToType.java#L145-L166","documentation":"Type-mapping failure in SparkTypeToType.atomic: the Spark AtomicType has no Iceberg mapping in this converter's chain of instanceof checks (date, timestamp, decimal, binary, null, string, numeric types are handled above). The message shows the Spark type's catalogString; typical triggers are user-defined or otherwise unmappable Spark types.","triggerScenarios":"Thrown at spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkTypeToType.java:163 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Cast the Spark column to a supported primitive type before conversion","Remove or rename UDT columns from the schema being converted","Extend the converter with a mapping for the Spark type"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"86d9c8fc543e7c56c9f624eb725f76c9baff9570","analyzedAt":"2026-09-12T00:46:39.097Z","contentChangedAt":"2026-09-12T00:46:39.097Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}